.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900AE9348
call      qword ptr [7FF900AF6580]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900AD89A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,1D3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF900226718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900AD8A48
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900ABD388
call      qword ptr [7FF900AC7FC0]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900AAA7E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,1D3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF9001F6718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900AAA888
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900ADD388
call      qword ptr [7FF900AE7FC0]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900ACA7E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900535EA8]
mov       ecx,1D3
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF900216718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900535EA8]
mov       ecx,1B3
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900ACA888
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900ABD388
call      qword ptr [7FF900AC7FC0]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,offset System.SZGenericArrayEnumerator`1[[System.__Canon, System.Private.CoreLib]].get_Current()
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,1D3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF9001F6718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900AAA888
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900ACDA18
call      qword ptr [7FF900AD7FC0]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900ABADD0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900525EA8]
mov       ecx,1D3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF900206718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900525EA8]
mov       ecx,1B3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900ABAE70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900ADDA18
call      qword ptr [7FF900AE7FC0]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900ACADD0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900535EA8]
mov       ecx,1D3
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF900216718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900535EA8]
mov       ecx,1B3
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900ACAE70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900BAEBD8
call      qword ptr [7FF900B9E958]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900BB3430
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900525EA8]
mov       ecx,1D3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF900206718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900525EA8]
mov       ecx,1B3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900BB34D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.GetOrAddDictionary02()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       r9,[rbx+50]
mov       r8,[r9+28]
mov       rdx,[rbx+280]
mov       rcx,7FF900C7F708
call      qword ptr [7FF900C8C270]; DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
mov       [rsp+28],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
DotNetTips.Spargine.Extensions.DictionaryExtensions.GetOrAdd[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IDictionary`2, System.__Canon, System.__Canon)
		value = value.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		key = key.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		collection = collection.ArgumentNotNull();
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
		if (collection.TryGetValue(key, out var item) is false)
		^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
			collection.Add(key, value);
			^^^^^^^^^^^^^^^^^^^^^^^^^^^
			item = value;
			^^^^^^^^^^^^^
		return item;
		^^^^^^^^^^^^
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+30],rcx
mov       rdi,rcx
mov       rbx,rdx
mov       rsi,r8
mov       rbp,r9
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M01_L03
xor       ecx,ecx
test      rsi,rsi
setne     cl
test      ecx,ecx
je        near ptr M01_L04
test      rbx,rbx
je        near ptr M01_L05
mov       rcx,[rdi+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rdi
mov       rdx,7FF900C68998
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L01
 
lea       r8,[rsp+28]
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [r11]
test      eax,eax
je        near ptr M01_L06
M01_L02
 
mov       rax,[rsp+28]
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M01_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,1D3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdi,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rsi,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rsi
mov       rcx,rbp
call      qword ptr [7FF9001F6718]
mov       rcx,rbp
call      CORINFO_HELP_THROW
M01_L04
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L05
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M01_L06
 
mov       rcx,[rdi+10]
cmp       qword ptr [rcx+10],38
jle       short M01_L07
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L07
jmp       short M01_L08
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C68A38
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L08
 
mov       rcx,rbx
mov       rdx,rsi
mov       r8,rbp
call      qword ptr [r11]
mov       [rsp+28],rbp
jmp       near ptr M01_L02
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,24029C0F7A8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900AB9970
call      qword ptr [7FF900AC6628]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,24029C0F7A0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,24029C0F7A8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,24029C001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B62290]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FF900AA89D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,24029C001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B62290]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FF900AA89D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FF900236898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FF8FFEB1080
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FF900365E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FF900236898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FF900AA88F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FF900367A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FF900367A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FF8FFEB1088
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FF8FFEB1088
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002367F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B62498]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF8FFFF41F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,1EFC3802200
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900ADDDE0
call      qword ptr [7FF900AEC408]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,1EFC38021F8
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF900014210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1EFC3802200
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,1EFBB8001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B82930]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FF900ACA920
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,1EFBB8001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B82930]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FF900ACA920
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FF900256898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FF8FFED1080
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FF900385E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FF900256898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FF900ACA848
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FF900387A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FF900387A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FF8FFED1088
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FF8FFED1088
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002567F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B82B38]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF9000141F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,158F700F7A8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900AEDD60
call      qword ptr [7FF900AFC408]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,158F700F7A0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF900024210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,158F700F7A8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FF9A20E5380
call      rax
mov       rdi,[rbp-40]
mov       rdx,158F70001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FF900B92970]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FF900395E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FF900ADA920
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FF900266898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FF8FFEE1080
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FF900ADA848
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FF900397A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FF900397A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FF8FFEE1088
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,[rbp-58]
mov       r11,7FF8FFEE1088
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002667F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B92B68]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF9000241F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,170B580F7A8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900ABD9B0
call      qword ptr [7FF900ACC210]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,170B580F7A0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,170B580F7A8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FF9A20E5380
call      rax
mov       rdi,[rbp-40]
mov       rdx,170B58001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FF900B62990]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FF900365E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FF900AAA810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FF900236898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FF8FFEB1080
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FF900AAA738
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FF900367A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FF900367A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FF8FFEB1088
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FF8FFEB1088
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002367F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B62B88]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF8FFFF41F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,1FDE8C02200
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900ADE040
call      qword ptr [7FF900AEC210]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,1FDE8C021F8
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF900014210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1FDE8C02200
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FF9A20E5380
call      rax
mov       rdi,[rbp-40]
mov       rdx,1FDE0C001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FF900B83190]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FF900385E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FF900ACADF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FF900256898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FF8FFED1080
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FF900ACAD20
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FF900387A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FF900387A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FF8FFED1088
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,rax
mov       r11,7FF8FFED1088
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002567F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B83388]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF9000141F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,22B5B002200
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900ACE040
call      qword ptr [7FF900ADC210]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,22B5B0021F8
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF900004210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,22B5B002200
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,22B530001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B733D0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FF900ABADF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,22B530001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B733D0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FF900ABADF8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FF900246898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FF8FFEC1080
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FF900375E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FF900246898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FF900ABAD20
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FF900377A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FF900377A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FF8FFEC1088
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FF8FFEC1088
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002467F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B735D8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF9000041F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,2989F00F7A8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900BED9B0
call      qword ptr [7FF900BF6628]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,2989F00F7A0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF900024210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,2989F00F7A8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,68
vzeroupper
lea       rbp,[rsp+0A0]
xor       eax,eax
mov       [rbp-68],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-60],xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
mov       [rbp-80],rsp
mov       [rbp-40],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L30
test      rbx,rbx
je        near ptr M01_L31
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L27
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-70],rax
test      rax,rax
je        near ptr M01_L16
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L16
jmp       near ptr M01_L08
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L06
M01_L02
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L07
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,2989F0001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L24
M01_L03
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L25
add       rbx,[r13+10]
M01_L04
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       r8,4000000000000000
or        rax,r8
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
or        rdx,r8
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rdx,rcx
sub       r8,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B89BF0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L08
jmp       near ptr M01_L28
M01_L05
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L12
M01_L06
 
mov       rcx,rsi
mov       rdx,7FF900BDA810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L08
 
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L09
 
mov       r8d,[rdi+0C]
mov       r14,[rdi]
cmp       r8d,[r14+38]
jae       near ptr M01_L26
mov       r14,[r14+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       near ptr M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L09
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L10
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L14
M01_L11
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-70]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L15
mov       r13,[rbp-48]
mov       [rbp-78],r13
cmp       [r13],r13b
lea       rcx,[rbp-58]
mov       rax,7FF9A20E5380
call      rax
mov       rbx,[rbp-58]
mov       rdx,2989F0001C8
mov       r13,[rdx]
sub       rbx,[r13+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L05
M01_L12
 
mov       edx,0B2D05E00
cmp       rbx,rdx
jae       near ptr M01_L20
add       rbx,[r13+10]
M01_L13
 
mov       r13,[rbp-78]
mov       r12,[r13+48]
mov       rax,3FFFFFFFFFFFFFFF
and       rax,rbx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rdx,r12
mov       rcx,4000000000000000
or        rdx,rcx
mov       r8,3FFFFFFFFFFFFFFF
and       r8,rax
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdx
sub       r8,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,r8
vdivsd    xmm0,xmm0,[7FF900B89BF0]
vxorps    xmm1,xmm1,xmm1
xor       r10d,r10d
vucomisd  xmm0,xmm1
seta      r10b
test      r10d,r10d
mov       rax,[rbp-70]
mov       rbx,[rbp+20]
je        short M01_L16
jmp       near ptr M01_L28
M01_L14
 
mov       rcx,rsi
mov       rdx,7FF900BDA810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L11
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-50]
vmovdqu   xmmword ptr [rbp-68],xmm0
lea       rdx,[rbp-68]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
mov       r10d,eax
test      r10d,r10d
mov       rax,[rbp-70]
jne       near ptr M01_L28
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L21
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L17
 
mov       r8d,[rdi+0C]
mov       rcx,[rdi]
cmp       r8d,[rcx+38]
jae       short M01_L18
mov       rcx,[rdi]
mov       r14,[rcx+10]
lea       ecx,[r8+1]
mov       [rdi+0C],ecx
cmp       r8d,[r14+8]
jae       short M01_L19
mov       ecx,r8d
lea       rcx,[rcx+rcx*2]
lea       r15,[r14+rcx*8+10]
cmp       dword ptr [r15+14],0FFFFFFFF
jl        short M01_L17
mov       rdx,[r15]
mov       r13,[r15+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r13
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rbp-70]
mov       rcx,[rdi]
mov       ecx,[rcx+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L22
M01_L19
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L20
 
call      qword ptr [7FF900266898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L13
M01_L21
 
mov       rcx,rax
mov       r11,7FF8FFEE1260
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-70]
M01_L22
 
test      ecx,ecx
jne       near ptr M01_L10
jmp       near ptr M01_L32
M01_L23
 
call      qword ptr [7FF900395E00]
int       3
M01_L24
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L25
 
call      qword ptr [7FF900266898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rbx,rax
jmp       near ptr M01_L04
M01_L26
 
mov       rax,[rbp-70]
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L32
M01_L27
 
mov       rcx,rsi
mov       rdx,7FF900BDA738
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L28
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L33
M01_L29
 
mov       eax,1
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       ecx,10
call      qword ptr [7FF900397A38]
int       3
M01_L31
 
mov       ecx,0C
call      qword ptr [7FF900397A38]
int       3
M01_L32
 
mov       rcx,rsp
call      M01_L35
jmp       short M01_L34
M01_L33
 
mov       rax,[rbp-70]
mov       rcx,rax
mov       r11,7FF8FFEE1268
call      qword ptr [r11]
jmp       short M01_L29
M01_L34
 
xor       eax,eax
add       rsp,68
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L35
 
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+0A0]
cmp       qword ptr [rbp-70],0
je        short M01_L36
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-70]
cmp       [rax],rcx
je        short M01_L36
mov       rcx,rax
mov       r11,7FF8FFEE1268
call      qword ptr [r11]
M01_L36
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002667F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900B89DF8]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF9000241F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.HasItemsWithPredicateTest()
push      rdi
push      rsi
push      rbx
sub       rsp,20
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       r8,141C940F7A8
mov       r8,[r8]
test      r8,r8
je        short M00_L02
test      rsi,rsi
je        short M00_L03
M00_L00
 
test      r8,r8
je        short M00_L03
mov       rdx,rsi
mov       rcx,7FF900C7F900
call      qword ptr [7FF900C87FA8]; System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
M00_L01
 
mov       rcx,[rbx+18]
mov       [rcx+4C],al
add       rsp,20
pop       rbx
pop       rsi
pop       rdi
ret
M00_L02
 
mov       rcx,offset MT_System.Func>, System.Boolean>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rdx,141C940F7A0
mov       rdx,[rdx]
mov       rcx,rdi
mov       r8,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,141C940F7A8
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       r8,rdi
test      rsi,rsi
jne       short M00_L00
M00_L03
 
xor       eax,eax
jmp       short M00_L01
 
System.Linq.Enumerable.Any[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Func`2,Boolean>)
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,70
vzeroupper
lea       rbp,[rsp+90]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
xor       eax,eax
mov       [rbp-30],rax
mov       [rbp-70],rsp
mov       [rbp-28],rcx
mov       rsi,rcx
mov       rdi,rdx
mov       rbx,r8
test      rdi,rdi
je        near ptr M01_L18
test      rbx,rbx
je        near ptr M01_L19
mov       rcx,[rsi+10]
mov       r11,[rcx+10]
test      r11,r11
je        near ptr M01_L15
M01_L00
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       near ptr M01_L09
M01_L01
 
mov       rcx,[rsi+10]
mov       r11,[rcx+18]
test      r11,r11
je        near ptr M01_L07
M01_L02
 
lea       rdx,[rbp-38]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,offset DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
mov       [rbp+20],rbx
cmp       [rbx+18],rcx
jne       near ptr M01_L08
mov       r14,[rbp-30]
mov       [rbp-60],r14
cmp       [r14],r14b
lea       rcx,[rbp-40]
mov       rax,7FF9A20E5380
call      rax
mov       rdi,[rbp-40]
mov       rdx,141C94001C8
mov       rbx,[rdx]
sub       rdi,[rbx+8]
cmp       dword ptr [7FF95FEBE0EC],0
jne       near ptr M01_L06
M01_L03
 
mov       edx,0B2D05E00
cmp       rdi,rdx
jae       near ptr M01_L11
add       rdi,[rbx+10]
M01_L04
 
mov       r14,[rbp-60]
mov       rdx,[r14+48]
mov       rcx,3FFFFFFFFFFFFFFF
and       rcx,rdi
mov       rax,4000000000000000
or        rcx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rdx,rax
mov       rax,4000000000000000
or        rdx,rax
mov       rax,3FFFFFFFFFFFFFFF
and       rcx,rax
and       rdx,rax
sub       rcx,rdx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rcx
vdivsd    xmm0,xmm0,[7FF900D09B10]
vxorps    xmm1,xmm1,xmm1
xor       ebx,ebx
vucomisd  xmm0,xmm1
seta      bl
test      ebx,ebx
mov       rax,[rbp-58]
mov       rbx,[rbp+20]
je        short M01_L09
jmp       near ptr M01_L16
M01_L05
 
call      qword ptr [7FF900365E00]
int       3
M01_L06
 
call      CORINFO_HELP_POLL_GC
jmp       near ptr M01_L03
M01_L07
 
mov       rcx,rsi
mov       rdx,7FF900C6A1B0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L08
 
vmovdqu   xmm0,xmmword ptr [rbp-38]
vmovdqu   xmmword ptr [rbp-50],xmm0
lea       rdx,[rbp-50]
mov       rbx,[rbp+20]
mov       rcx,[rbx+8]
call      qword ptr [rbx+18]
test      eax,eax
mov       rax,[rbp-58]
jne       near ptr M01_L16
M01_L09
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L14
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       short M01_L05
M01_L10
 
mov       ecx,[rdi+0C]
mov       rdx,[rdi]
mov       r14d,[rdx+38]
cmp       ecx,r14d
jb        short M01_L13
mov       rax,[rbp-58]
inc       r14d
mov       [rdi+0C],r14d
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L20
M01_L11
 
call      qword ptr [7FF900236898]; System.DateTime.UpdateLeapSecondCacheAndReturnUtcNow()
mov       rdi,rax
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
mov       rdx,[rdx+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L12
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L10
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L01
M01_L14
 
mov       rcx,rax
mov       r11,7FF8FFEB1B20
call      qword ptr [r11]
test      eax,eax
je        short M01_L20
jmp       near ptr M01_L01
M01_L15
 
mov       rcx,rsi
mov       rdx,7FF900C6A0D8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L00
M01_L16
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       short M01_L21
M01_L17
 
mov       eax,1
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L18
 
mov       ecx,10
call      qword ptr [7FF900367A38]
int       3
M01_L19
 
mov       ecx,0C
call      qword ptr [7FF900367A38]
int       3
M01_L20
 
mov       rax,[rbp-58]
mov       rcx,rsp
call      M01_L23
jmp       short M01_L22
M01_L21
 
mov       rax,[rbp-58]
mov       rcx,rax
mov       r11,7FF8FFEB1B28
call      qword ptr [r11]
jmp       short M01_L17
M01_L22
 
xor       eax,eax
add       rsp,70
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
M01_L23
 
push      rbp
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,30
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-58],0
je        short M01_L24
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-58]
cmp       [rax],rcx
je        short M01_L24
mov       rcx,[rbp-58]
mov       r11,7FF8FFEB1B28
call      qword ptr [r11]
M01_L24
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       rbp
ret
 
DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark+<>c.b__5_0(System.Collections.Generic.KeyValuePair`2>)
push      rbx
sub       rsp,20
vzeroupper
mov       rbx,[rdx+8]
cmp       [rbx],bl
call      qword ptr [7FF9002367F0]; System.DateTime.get_UtcNow()
mov       rcx,[rbx+48]
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
mov       rdx,4000000000000000
or        rax,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rcx,rdx
mov       rdx,4000000000000000
or        rcx,rdx
mov       rdx,3FFFFFFFFFFFFFFF
and       rax,rdx
and       rcx,rdx
sub       rax,rcx
vxorps    xmm0,xmm0,xmm0
vcvtsi2sd xmm0,xmm0,rax
vdivsd    xmm0,xmm0,[7FF900D09D08]
vxorps    xmm1,xmm1,xmm1
xor       eax,eax
vucomisd  xmm0,xmm1
seta      al
add       rsp,20
pop       rbx
ret
 
System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
push      rsi
push      rbx
sub       rsp,28
mov       rbx,rcx
mov       rsi,r8
test      rdx,rdx
je        short M03_L00
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
mov       [rbx+18],rsi
add       rsp,28
pop       rbx
pop       rsi
ret
M03_L00
 
call      qword ptr [7FF8FFFF41F8]
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900AF6868]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AF75A0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900024360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AFC750]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C9AE98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C9AEB0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C9B138
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C9B158
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AEED08]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEE0F78
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C9B178
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900395E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003809E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900226790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C9AE98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900024360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C9B138
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AFC780]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEE0F80
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEE0F80
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,32394E70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900AEC4B0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AED1E8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AEE070]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C8B928
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C8B940
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C8BBC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C8BBE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF2A78]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F78
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C8BC08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C8B928
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C8BBC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AEE0A0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED0F80
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED0F80
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,28079350008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900ADC4B0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900ADD1E8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900ADE070]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C7B358
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C7B370
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C7B5F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C7B618
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AE2A78]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC0F78
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C7B638
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900375E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003609E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900206790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C7B358
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C7B5F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900ADE0A0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEC0F80
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEC0F80
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900375D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,298D40A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900AEC648]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AED380]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AEE208]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C8B9D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C8B9F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C8BC78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C8BC98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF2E00]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F78
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C8BCB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C8B9D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C8BC78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AEE238]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED0F80
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED0F80
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,222D1F00008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900ACC648]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900ACD380]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900ACE208]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C6BB00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C6BB18
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C6BDA0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C6BDC0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AD3520]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEB0F78
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C6BDE0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900365E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003509E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9001F6790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C6BB00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C6BDA0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900ACE238]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEB0F80
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEB0F80
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900365D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2C8835C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900ADE238]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900ADEF70]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900B04018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900CD31F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900CD3208
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900CD3490
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900CD34B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF3520]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC0FC8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900CD34D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900375E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003609E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900206790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900CD31F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900CD3490
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900B04048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEC0FD0
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEC0FD0
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900375D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2FFA6430008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900BD6868]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900BD75A0]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900BDC750]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900CEC060
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900CEC078
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900CEC300
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900CEC320
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900BE2A78]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC1270
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900CEC340
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900375E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003609E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900206790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900CEC060
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900CEC300
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900BDC780]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEC1278
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEC1278
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900375D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2C74AF40008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryComparerTest()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,offset MT_DotNetTips.Spargine.Core.Collections.Generic.OrdinalStringComparer
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rdi,[rbx+280]
test      rdi,rdi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rcx,rbp
mov       rdx,rdi
mov       r8,rsi
call      qword ptr [7FF900CAC0C0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+20],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900CACDF8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900CADC80]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900D1E2F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900D1E308
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900D1E590
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900D1E5B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900CB4188]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED1B28
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900D1E5D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900D1E2F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900D1E590
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900CADCB0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED1B30
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED1B30
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1C0EC4E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFED1080
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFED1090
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFED1088
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900535EA8]
mov       ecx,1B3
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900385D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,20737B70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEE1080
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEE1090
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEE1088
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900395D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,22F2F1F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEC1080
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEC1090
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEC1088
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900525EA8]
mov       ecx,1B3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900375D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2630C1B0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEE1080
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEE1090
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEE1088
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900395D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1E32E040008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEB1080
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEB1090
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEB1088
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2F9685A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEB10D0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEB10E0
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEB10D8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2331D640008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEB1250
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEB1260
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEB1258
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,1A3E3CF0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary02()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
mov       rdi,[rbx+50]
mov       rbp,[rdi+28]
test      rdi,rdi
je        short M00_L01
xor       ecx,ecx
test      rbp,rbp
setne     cl
test      ecx,ecx
je        short M00_L02
test      rsi,rsi
je        near ptr M00_L03
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEE1B10
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rbp
mov       r11,7FF8FFEE1B20
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rdi
mov       rdx,rbp
mov       r11,7FF8FFEE1B18
call      qword ptr [r11]
M00_L01
 
mov       [rsp+20],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900395D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,22424840008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004AD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004AD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004ADA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L04
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L03
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900C85000
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900C84FE0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L07
M01_L06
 
mov       rdx,rsi
call      qword ptr [7FF900004330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       short M01_L08
mov       eax,1F
jmp       short M01_L02
M01_L07
 
mov       rcx,rbx
mov       rdx,7FF900C85020
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L06
M01_L08
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L09
jmp       short M01_L10
M01_L09
 
mov       rcx,rbx
mov       rdx,7FF900C85040
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L10
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L02
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       ebp,r9d
mov       r14,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004AE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900C84658
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      r14,r14
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900C84670
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       r14,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1C1B1001D60
cmp       r14,[rcx]
jne       near ptr M02_L18
mov       rcx,1C1B1001960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900C84698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FF900004390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FF900C84680
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,r14
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       r14d,[rbx+8]
mov       ecx,r14d
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],bpl
mov       eax,r14d
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9006E73C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000BD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900ADDDA0]
int       3
M02_L18
 
mov       rcx,1C1B10002D8
cmp       r14,[rcx]
jne       short M02_L19
mov       rcx,1C1B1001968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,1C1B10002E0
xor       ecx,ecx
mov       rdx,1C1B1001970
cmp       r14,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900C84670
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,r14
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004ADBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFEC10A0
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900C85180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9006E7900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9006E73A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90000F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900375E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900C85160
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC10A8
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFEC10A8
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900375D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,20242F60008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004CD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004CD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004CDA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900CA6CE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900CA6D08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900CA6D48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FF900CA6D28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FF900024330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004CE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900CA5C20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900CA5C38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90002FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,23F86801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,23F86801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900CA5C60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FF900024390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FF900CA5C48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004EA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9007073C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000DD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FF9004EA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900AFE9B8]
int       3
M02_L18
 
mov       rcx,23F868002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,23F86801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,23F868002E0
xor       ecx,ecx
mov       rdx,23F86801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900CA5C38
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90002FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004CDBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFEE0F80
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900CA6E88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004EA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900707900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9007073A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90002F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900395E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900CA6E68
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFEE0F88
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFEE0F88
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900395D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,28018770008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004BD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004BD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004BDA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900014348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900C96448
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900C96468
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900C964A8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FF900C96488
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FF900014330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004BE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900C95AC0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900C95AD8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,15BEF001D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,15BEF001960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900C95B00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FF900014390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FF900C95AE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004DA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9006F73C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000CD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FF9004DA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900AEFB70]
int       3
M02_L18
 
mov       rcx,15BEF0002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,15BEF001968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,15BEF0002E0
xor       ecx,ecx
mov       rdx,15BEF001970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900C95AD8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004BDBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFED0F80
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900C965E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004DA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9006F7900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9006F73A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90001F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900385E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900C965C8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900385D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,19C80E80008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004AD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004AD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004ADA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900C86270
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900C86290
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900C862D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FF900C862B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FF900004330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004AE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900C858E8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900C85900
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,262B8401D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,262B8401960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900C85928
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FF900004390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FF900C85910
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9006E73C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000BD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900ADFB10]
int       3
M02_L18
 
mov       rcx,262B84002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,262B8401968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,262B84002E0
xor       ecx,ecx
mov       rdx,262B8401970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900C85900
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004ADBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFEC0F80
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900C86410
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9006E7900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9006E73A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90000F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900375E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900C863F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC0F88
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFEC0F88
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900375D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,2A34A320008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004AD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004AD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004ADA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900C85EC0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900C85EE0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900C85F20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FF900C85F00
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FF900004330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004AE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900C85538
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900C85550
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1AC2A401D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,1AC2A401960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900C85578
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FF900004390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FF900C85560
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9006E73C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000BD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900ADE9B8]
int       3
M02_L18
 
mov       rcx,1AC2A4002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,1AC2A401968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,1AC2A4002E0
xor       ecx,ecx
mov       rdx,1AC2A401970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900C85550
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004ADBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFEC0F80
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900C86060
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9006E7900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9006E73A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90000F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900375E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900C86040
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC0F88
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFEC0F88
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900375D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1ECBC2A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004BD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004BD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004BDA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900014348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        near ptr M01_L09
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L04
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L02
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900C96D88
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900C96DA8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900C96DE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L07
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       short M01_L02
M01_L08
 
mov       eax,1F
jmp       short M01_L02
M01_L09
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L10
jmp       short M01_L11
M01_L10
 
mov       rcx,rbx
mov       rdx,7FF900C96DC8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L11
 
mov       rdx,rsi
call      qword ptr [7FF900014330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
jmp       short M01_L08
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L15
test      ebx,ebx
jl        near ptr M02_L17
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004BE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900C96448
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900C96460
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,1902C801D60
cmp       rbp,[rcx]
jne       near ptr M02_L18
mov       rcx,1902C801960
mov       rax,[rcx]
M02_L08
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L09
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L10
jmp       short M02_L11
M02_L10
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900C96488
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L11
 
mov       rdx,r8
call      qword ptr [7FF900014390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L12
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L13
jmp       short M02_L14
M02_L13
 
mov       rcx,r12
mov       rdx,7FF900C96470
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L14
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L15
 
cmp       edi,0FFFFFFFF
je        short M02_L16
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004DA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9006F73C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000CD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L16
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L17
 
mov       ecx,0B98
mov       rdx,7FF9004DA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900AEFB10]
int       3
M02_L18
 
mov       rcx,1902C8002D8
cmp       rbp,[rcx]
jne       short M02_L19
mov       rcx,1902C801968
mov       rax,[rcx]
mov       r8,rax
mov       rax,r8
jmp       near ptr M02_L08
M02_L19
 
mov       r8,1902C8002E0
xor       ecx,ecx
mov       rdx,1902C801970
cmp       rbp,[r8]
mov       r8,[rdx]
cmovne    r8,rcx
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L09
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900C96460
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L12
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L12
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004BDBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFED0F80
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900C96F28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004DA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9006F7900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9006F73A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90001F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900385E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900C96F08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900385D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,1D0BE7D0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004CD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004CD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004CDA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C8]
test      rcx,rcx
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rbx
mov       rdx,7FF900D0A120
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D0]
test      r11,r11
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FF900D0A140
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L03
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L04
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D8]
test      rcx,rcx
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900D0A160
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L07
 
mov       rdx,rsi
call      qword ptr [7FF900024330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
je        short M01_L10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E0]
test      r11,r11
je        short M01_L08
jmp       short M01_L09
M01_L08
 
mov       rcx,rbx
mov       rdx,7FF900D0A180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L09
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L04
M01_L10
 
mov       eax,1F
jmp       near ptr M01_L04
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L16
test      ebx,ebx
jl        near ptr M02_L18
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004CE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A8]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900D07A08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900D07A20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90002FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,255E2001D60
cmp       rbp,[rcx]
jne       short M02_L08
mov       rcx,255E2001960
mov       rax,[rcx]
jmp       short M02_L09
M02_L08
 
mov       rax,255E20002D8
cmp       rbp,[rax]
jne       near ptr M02_L19
mov       rcx,255E2001968
mov       rax,[rcx]
M02_L09
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L10
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M02_L11
jmp       short M02_L12
M02_L11
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900D07A48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L12
 
mov       rdx,r8
call      qword ptr [7FF900024390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L13
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L14
jmp       short M02_L15
M02_L14
 
mov       rcx,r12
mov       rdx,7FF900D07A30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L15
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L16
 
cmp       edi,0FFFFFFFF
je        short M02_L17
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004EA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9007073C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000DD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L17
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L18
 
mov       ecx,0B98
mov       rdx,7FF9004EA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900A75188]
int       3
M02_L19
 
mov       rcx,255E20002E0
xor       eax,eax
mov       rdx,255E2001970
cmp       rbp,[rcx]
cmove     rax,[rdx]
mov       r8,rax
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L10
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900D07A20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90002FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L13
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L13
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E8]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0F0]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004CDBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFEE1278
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900D0A2B0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004EA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900707900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9007073A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90002F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900395E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900D0A290
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFEE1280
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFEE1280
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900395D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,29673FC0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToConcurrentDictionary()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
xor       eax,eax
mov       [rsp+30],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rdi,offset MT_System.Collections.Concurrent.ConcurrentDictionary>
mov       rcx,rdi
call      CORINFO_HELP_NEWSFAST
mov       rbp,rax
mov       rdx,rsi
mov       rcx,rdi
call      qword ptr [7FF9004AD9C8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       r8d,eax
xor       ecx,ecx
mov       [rsp+20],rcx
mov       rcx,rbp
mov       edx,0C
xor       r9d,r9d
call      qword ptr [7FF9004AD9B0]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,rbp
mov       rdx,rsi
call      qword ptr [7FF9004ADA10]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
mov       [rsp+30],rbp
mov       rbx,[rbx+18]
mov       rdx,[rsp+30]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].GetCapacityFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rdi
push      rsi
push      rbx
sub       rsp,30
mov       [rsp+28],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0C0]
test      rcx,rcx
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rcx,rbx
mov       rdx,7FF900CFABF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
je        short M01_L05
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0C8]
test      r11,r11
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FF900CFAC10
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L03
 
mov       rcx,rdi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
M01_L04
 
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0D0]
test      rcx,rcx
je        short M01_L06
jmp       short M01_L07
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900CFAC30
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L07
 
mov       rdx,rsi
call      qword ptr [7FF900004330]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfAny(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
je        short M01_L10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+0D8]
test      r11,r11
je        short M01_L08
jmp       short M01_L09
M01_L08
 
mov       rcx,rbx
mov       rdx,7FF900CFAC50
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L09
 
mov       rcx,rsi
call      qword ptr [r11]
mov       ecx,1F
cmp       eax,1F
cmovg     ecx,eax
mov       eax,ecx
jmp       near ptr M01_L04
M01_L10
 
mov       eax,1F
jmp       near ptr M01_L04
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, Int32, Boolean, System.Collections.Generic.IEqualityComparer`1)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,38
mov       [rsp+30],rcx
mov       rsi,rcx
mov       edi,edx
mov       ebx,r8d
mov       r14d,r9d
mov       rbp,[rsp+0A0]
test      edi,edi
jle       near ptr M02_L16
test      ebx,ebx
jl        near ptr M02_L18
M02_L00
 
cmp       ebx,edi
cmovl     ebx,edi
mov       ecx,ebx
call      qword ptr [7FF9004AE0B8]; System.Collections.HashHelpers.GetPrime(Int32)
mov       ebx,eax
movsxd    rdx,edi
mov       rcx,offset MT_System.Object[]
call      CORINFO_HELP_NEWARR_1_OBJ
mov       r15,rax
mov       r13d,[r15+8]
test      r13d,r13d
je        near ptr M02_L23
lea       rcx,[r15+10]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
mov       edi,1
cmp       r13d,1
jle       short M02_L02
mov       r12,offset MT_System.Object
M02_L01
 
mov       rcx,r12
call      CORINFO_HELP_NEWSFAST
mov       ecx,edi
lea       rcx,[r15+rcx*8+10]
mov       rdx,rax
call      CORINFO_HELP_ASSIGN_REF
inc       edi
cmp       r13d,edi
jg        short M02_L01
M02_L02
 
mov       edx,r13d
mov       rcx,offset MT_System.Int32[]
call      CORINFO_HELP_NEWARR_1_VC
mov       rdi,rax
mov       r12,[rsi]
mov       rcx,r12
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       rax,[rdx+0A0]
test      rax,rax
je        short M02_L03
mov       rcx,rax
jmp       short M02_L04
M02_L03
 
mov       rdx,7FF900CFA778
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L04
 
movsxd    rdx,ebx
call      CORINFO_HELP_NEWARR_1_VC
mov       rbx,rax
test      rbp,rbp
jne       short M02_L07
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0A8]
test      rcx,rcx
je        short M02_L05
jmp       short M02_L06
M02_L05
 
mov       rcx,r12
mov       rdx,7FF900CFA790
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L06
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       rbp,rax
M02_L07
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L20
mov       rcx,28686C01D60
cmp       rbp,[rcx]
jne       short M02_L08
mov       rcx,28686C01960
mov       rax,[rcx]
jmp       short M02_L09
M02_L08
 
mov       rax,28686C002D8
cmp       rbp,[rax]
jne       near ptr M02_L19
mov       rcx,28686C01968
mov       rax,[rcx]
M02_L09
 
mov       r8,rax
mov       [rsp+28],r8
test      r8,r8
mov       r8,[rsp+28]
je        near ptr M02_L20
M02_L10
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B8]
test      rcx,rcx
je        short M02_L11
jmp       short M02_L12
M02_L11
 
mov       [rsp+28],r8
mov       rcx,r12
mov       rdx,7FF900CFA7B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
mov       r8,[rsp+28]
M02_L12
 
mov       rdx,r8
call      qword ptr [7FF900004390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rbp,rax
M02_L13
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0B0]
test      rcx,rcx
je        short M02_L14
jmp       short M02_L15
M02_L14
 
mov       rcx,r12
mov       rdx,7FF900CFA7A0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L15
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
lea       rcx,[r12+10]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+18]
mov       rdx,r15
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+20]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
lea       rcx,[r12+8]
mov       rdx,rbp
call      CORINFO_HELP_ASSIGN_REF
mov       rax,0FFFFFFFFFFFFFFFF
mov       ebp,[rbx+8]
mov       ecx,ebp
xor       edx,edx
div       rcx
inc       rax
mov       [r12+28],rax
lea       rcx,[rsi+8]
mov       rdx,r12
call      CORINFO_HELP_ASSIGN_REF
mov       [rsi+14],r14b
mov       eax,ebp
xor       edx,edx
div       r13d
mov       [rsi+10],eax
add       rsp,38
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M02_L16
 
cmp       edi,0FFFFFFFF
je        short M02_L17
mov       rcx,offset MT_System.ArgumentOutOfRangeException
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       ecx,0B76
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rbx,rax
call      qword ptr [7FF9006E73C0]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rdi
call      qword ptr [7FF9000BD470]
mov       rcx,rdi
call      CORINFO_HELP_THROW
M02_L17
 
cmp       [rsi],esi
mov       edi,0C
test      ebx,ebx
jge       near ptr M02_L00
M02_L18
 
mov       ecx,0B98
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       ecx,ebx
call      qword ptr [7FF900A55188]
int       3
M02_L19
 
mov       rcx,28686C002E0
xor       eax,eax
mov       rdx,28686C01970
cmp       rbp,[rcx]
cmove     rax,[rdx]
mov       r8,rax
mov       rcx,r8
test      rcx,rcx
mov       r8,rcx
jne       near ptr M02_L10
M02_L20
 
mov       rcx,[r12+30]
mov       rcx,[rcx]
mov       rcx,[rcx+0A8]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,r12
mov       rdx,7FF900CFA790
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M02_L22
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rbp
jne       near ptr M02_L13
mov       byte ptr [rsi+15],1
jmp       near ptr M02_L13
M02_L23
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 
System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].InitializeFromCollection(System.Collections.Generic.IEnumerable`1>)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,88
lea       rbp,[rsp+0B0]
vxorps    xmm4,xmm4,xmm4
vmovdqu   xmmword ptr [rbp-48],xmm4
xor       eax,eax
mov       [rbp-38],rax
mov       [rbp-70],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,[rcx]
mov       rdx,rsi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+0E0]
test      r11,r11
je        near ptr M03_L12
M03_L00
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M03_L03
M03_L01
 
mov       rcx,[rsi+30]
mov       rcx,[rcx]
mov       r11,[rcx+0E8]
test      r11,r11
je        near ptr M03_L08
M03_L02
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
cmp       qword ptr [rbp-40],0
je        near ptr M03_L09
mov       rcx,[rbp+10]
mov       rdx,[rcx+8]
mov       r8,[rbp-40]
mov       byte ptr [rbp-50],0
xor       r9d,r9d
mov       [rbp-4C],r9d
mov       r9,[rbp-38]
mov       [rsp+20],r9
xor       r9d,r9d
mov       [rsp+28],r9d
mov       [rsp+30],r9d
lea       r9,[rbp-48]
mov       [rsp+38],r9
mov       r9,[rbp-50]
call      qword ptr [7FF9004ADBA8]; System.Collections.Concurrent.ConcurrentDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryAddInternal(Tables, System.__Canon, System.Nullable`1, System.__Canon, Boolean, Boolean, System.__Canon ByRef)
test      eax,eax
je        near ptr M03_L10
M03_L03
 
mov       rax,[rbp-58]
cmp       rbx,rdi
jne       short M03_L06
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M03_L11
M03_L04
 
mov       ecx,[r14+0C]
mov       r15,[r14]
cmp       ecx,[r15+38]
jae       short M03_L07
mov       rdx,[r15+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M03_L05
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M03_L04
mov       rdx,[rcx]
mov       r15,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,r15
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M03_L01
M03_L05
 
call      CORINFO_HELP_RNGCHKFAIL
M03_L06
 
mov       rcx,rax
mov       r11,7FF8FFEC1B28
call      qword ptr [r11]
test      eax,eax
jne       near ptr M03_L01
mov       rax,[rbp-58]
jmp       near ptr M03_L13
M03_L07
 
mov       rax,[rbp-58]
mov       ecx,[r15+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       near ptr M03_L13
M03_L08
 
mov       rcx,rsi
mov       rdx,7FF900CFAD80
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L02
M03_L09
 
mov       ecx,1
mov       rdx,7FF9004CA278
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9006E7900]
int       3
M03_L10
 
mov       rcx,offset MT_System.ArgumentException
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
call      qword ptr [7FF9006E73A8]
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF90000F708]
mov       rcx,rbx
call      CORINFO_HELP_THROW
M03_L11
 
call      qword ptr [7FF900375E00]
int       3
M03_L12
 
mov       rcx,rdx
mov       rdx,7FF900CFAD60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M03_L00
M03_L13
 
cmp       rbx,rdi
jne       short M03_L15
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
je        short M03_L16
M03_L14
 
add       rsp,88
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M03_L15
 
mov       rcx,rax
mov       r11,7FF8FFEC1B30
call      qword ptr [r11]
mov       rcx,[rbp+10]
cmp       dword ptr [rcx+10],0
jne       short M03_L14
M03_L16
 
mov       rcx,[rbp+10]
mov       rax,[rcx+8]
mov       [rbp-60],rax
mov       rdx,[rax+10]
mov       eax,[rdx+8]
mov       rdx,[rbp-60]
mov       r11,[rdx+18]
xor       edx,edx
div       dword ptr [r11+8]
mov       [rcx+10],eax
jmp       short M03_L14
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
mov       rbp,[rcx+40]
mov       [rsp+40],rbp
lea       rbp,[rbp+0B0]
cmp       qword ptr [rbp-58],0
je        short M03_L17
mov       rax,[rbp-58]
mov       rbx,[rax]
mov       rdi,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rbx,rdi
je        short M03_L17
mov       rcx,rax
mov       r11,7FF8FFEC1B30
call      qword ptr [r11]
M03_L17
 
nop
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M04_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M04_L02
test      rbx,rbx
je        short M04_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M04_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M04_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L01
 
call      qword ptr [7FF900375D58]
int       3
M04_L02
 
test      rbx,rbx
je        short M04_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M04_L04
M04_L03
 
mov       rax,2C718920008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M04_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900ABC218
xor       r8d,r8d
call      qword ptr [7FF900AC70A8]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900ABFC50
call      qword ptr [7FF900AC70F0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
M01_L01
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+18]
test      rax,rax
je        near ptr M01_L06
M01_L02
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L07
cmp       qword ptr [rbp+20],0
je        short M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       short M01_L10
M01_L05
 
mov       rdx,7FF900AE0980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L02
M01_L07
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L09
jmp       short M01_L10
M01_L08
 
mov       rdx,7FF900ADFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF8FFFFEBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900ADFF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF8FFFFEE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FF8FFEB0FD8
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900ADFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FF900ADFF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FF900AC6910]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FF900AE0810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FF900AC6910]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FF900AB8CE8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AC7180]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFEB0FE0
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L42
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900AE2A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L48
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900AE2AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900AE2B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L54
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900ACFA68]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L54
M02_L18
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L32
test      r13d,r13d
jl        short M02_L19
test      eax,eax
jne       near ptr M02_L66
cmp       r15d,1
je        near ptr M02_L73
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L29
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L29
jmp       near ptr M02_L30
M02_L19
 
test      eax,eax
je        near ptr M02_L59
test      r8d,r8d
jne       near ptr M02_L56
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L23
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L23
jmp       near ptr M02_L24
M02_L20
 
mov       rcx,rbx
mov       rdx,7FF900AE3880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900ACF1C8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L49
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,294754002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FF900ACFA98]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L17
M02_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L26
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L26
jmp       short M02_L27
M02_L23
 
mov       rcx,rbx
mov       rdx,7FF900AEA368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L24
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B04D20]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L25
 
mov       r12,rax
jmp       short M02_L22
M02_L26
 
mov       rcx,rbx
mov       rdx,7FF900AE4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L27
 
mov       rax,r12
test      rax,rax
je        short M02_L28
cmp       [rax],rcx
je        short M02_L28
mov       rdx,r12
call      qword ptr [7FF8FFFF43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L28
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900AE6E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B04D20]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L31
 
jmp       near ptr M02_L22
M02_L32
 
test      eax,eax
je        near ptr M02_L39
test      r8d,r8d
jne       short M02_L35
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L33
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L33
jmp       short M02_L34
M02_L33
 
mov       rcx,rbx
mov       rdx,7FF900AE5B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L34
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06520]
jmp       short M02_L38
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L36
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L37
M02_L36
 
mov       rcx,rbx
mov       rdx,7FF900AE52F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L37
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B05A58]
M02_L38
 
mov       r12,r15
jmp       near ptr M02_L22
M02_L39
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L40
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L40
jmp       short M02_L41
M02_L40
 
mov       rcx,rbx
mov       rdx,7FF900AE4940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L41
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B04E58]
mov       r12,r15
jmp       near ptr M02_L22
M02_L42
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L45
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900AE2900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900ACE760]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L45
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900AE21C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900ACDB90]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L48
 
mov       rcx,294754002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,294754002E0
cmp       rdi,[rcx]
jne       near ptr M02_L42
jmp       near ptr M02_L02
M02_L49
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L51
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L53
M02_L50
 
mov       [rbp-98],rax
jmp       short M02_L52
M02_L51
 
mov       [rbp-98],rax
M02_L52
 
mov       rcx,rbx
mov       rdx,7FF900AE4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L53
 
mov       rdx,rax
call      qword ptr [7FF8FFFF43D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L54
 
mov       rcx,29475414E10
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L55
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,29475414E08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900B0BF90
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,29475414E10
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L55
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FF900ACFA80]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L56
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L57
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900AE9AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0F330]
mov       rax,r12
jmp       near ptr M02_L25
M02_L59
 
cmp       r15d,1
je        short M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L60
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900AE9050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0E8B0]
jmp       short M02_L65
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L63
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FF900AE87C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0DE30]
M02_L65
 
jmp       near ptr M02_L22
M02_L66
 
test      r8d,r8d
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L67
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900AE7F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0D3B0]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L70
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900AE76B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0C930]
M02_L72
 
jmp       near ptr M02_L22
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L74
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900AE65A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06FD0]
jmp       near ptr M02_L31
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900B00678
xor       r8d,r8d
call      qword ptr [7FF900AECE88]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900B040B0
call      qword ptr [7FF900AECED0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
M01_L01
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+18]
test      rax,rax
je        near ptr M01_L07
M01_L02
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        short M01_L06
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF90001EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L09
cmp       qword ptr [rbp+20],0
je        short M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L06
jmp       short M01_L10
M01_L05
 
mov       rdx,7FF900B10980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L07
 
mov       rdx,7FF900AFF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,7FF900AFFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L06
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF90001EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900AFFF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF90001EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FF8FFED0FD8
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L06
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900AFFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FF900AFFF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FF900AFF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FF900AEC6F0]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FF900B10810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FF900AFF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FF900AEC6F0]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FF900ADD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AECF60]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFED0FE0
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF90001EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L42
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900B12A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L48
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF900014390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900B12AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF90001ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF9004BE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF900014390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900B12B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF90001ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF9004BE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L54
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900B258D8]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L54
M02_L18
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L32
test      r13d,r13d
jl        short M02_L19
test      eax,eax
jne       near ptr M02_L66
cmp       r15d,1
je        near ptr M02_L73
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L29
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L29
jmp       near ptr M02_L30
M02_L19
 
test      eax,eax
je        near ptr M02_L59
test      r8d,r8d
jne       near ptr M02_L56
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L23
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L23
jmp       near ptr M02_L24
M02_L20
 
mov       rcx,rbx
mov       rdx,7FF900B13880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B25038]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L49
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,1CC230002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FF900B25908]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L17
M02_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L26
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L26
jmp       short M02_L27
M02_L23
 
mov       rcx,rbx
mov       rdx,7FF900B1A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L24
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B26B50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L25
 
mov       r12,rax
jmp       short M02_L22
M02_L26
 
mov       rcx,rbx
mov       rdx,7FF900B14950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L27
 
mov       rax,r12
test      rax,rax
je        short M02_L28
cmp       [rax],rcx
je        short M02_L28
mov       rdx,r12
call      qword ptr [7FF9000143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L28
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900B16E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B26B50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L31
 
jmp       near ptr M02_L22
M02_L32
 
test      eax,eax
je        near ptr M02_L39
test      r8d,r8d
jne       short M02_L35
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L33
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L33
jmp       short M02_L34
M02_L33
 
mov       rcx,rbx
mov       rdx,7FF900B15B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L34
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B2C360]
jmp       short M02_L38
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L36
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L37
M02_L36
 
mov       rcx,rbx
mov       rdx,7FF900B152F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L37
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B27888]
M02_L38
 
mov       r12,r15
jmp       near ptr M02_L22
M02_L39
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L40
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L40
jmp       short M02_L41
M02_L40
 
mov       rcx,rbx
mov       rdx,7FF900B14940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L41
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B26C88]
mov       r12,r15
jmp       near ptr M02_L22
M02_L42
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L45
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900B12900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900B245D0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L45
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900B121C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AEF690]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L48
 
mov       rcx,1CC230002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1CC230002E0
cmp       rdi,[rcx]
jne       near ptr M02_L42
jmp       near ptr M02_L02
M02_L49
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L51
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L53
M02_L50
 
mov       [rbp-98],rax
jmp       short M02_L52
M02_L51
 
mov       [rbp-98],rax
M02_L52
 
mov       rcx,rbx
mov       rdx,7FF900B14950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L53
 
mov       rdx,rax
call      qword ptr [7FF9000143D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L54
 
mov       rcx,1CC23014E10
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L55
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,1CC23014E08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900B51980
call      qword ptr [7FF900014210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1CC23014E10
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L55
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FF900B258F0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L56
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L57
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900B19AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B54D20]
mov       rax,r12
jmp       near ptr M02_L25
M02_L59
 
cmp       r15d,1
je        short M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L60
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900B19050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B542A0]
jmp       short M02_L65
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L63
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FF900B187C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B2F810]
M02_L65
 
jmp       near ptr M02_L22
M02_L66
 
test      r8d,r8d
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L67
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900B17F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B2ED90]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L70
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900B176B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B2E310]
M02_L72
 
jmp       near ptr M02_L22
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L74
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900B165A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B2CE10]
jmp       near ptr M02_L31
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900AE0678
xor       r8d,r8d
call      qword ptr [7FF900ACCE88]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900AE40B0
call      qword ptr [7FF900ACCED0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L27
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L05
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L05
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L28
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L08
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L10
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        short M01_L06
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L09
cmp       qword ptr [rbp+20],0
je        near ptr M01_L10
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L06
jmp       short M01_L10
M01_L05
 
mov       rdx,7FF900AF0980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L19
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L07
 
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,7FF900ADFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L09
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
jne       short M01_L06
M01_L10
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        near ptr M01_L17
M01_L11
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF8FFFFEBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L12
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L16
M01_L13
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       r11,[rdx+30]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900ADFF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF8FFFFEE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
mov       rax,[rbp-30]
M01_L16
 
mov       rcx,rax
mov       r11,7FF8FFEB0FD8
call      qword ptr [r11]
test      eax,eax
jne       short M01_L13
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L06
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900ADFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L11
M01_L18
 
mov       rcx,rax
mov       rdx,7FF900ADFF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L12
M01_L19
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L20
jmp       short M01_L21
M01_L20
 
mov       rcx,rax
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L21
 
call      qword ptr [7FF900ACC6F0]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L24
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L22
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L22
jmp       short M01_L23
M01_L22
 
mov       rcx,rax
mov       rdx,7FF900AF0810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L23
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L24
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rax
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L26
 
call      qword ptr [7FF900ACC6F0]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L27
 
mov       ecx,6A7
mov       rdx,7FF900ABD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ACCF60]
int       3
M01_L28
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFEB0FE0
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0C8
lea       rbp,[rsp+100]
xor       eax,eax
mov       [rbp-88],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900AF2A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L37
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900AF2AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900AF2B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-8C],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L19
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L20
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L20
jmp       near ptr M02_L21
M02_L12
 
mov       eax,[rbp-8C]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-44]
xor       eax,eax
M02_L16
 
movzx     eax,al
mov       [rbp-48],eax
test      r15d,r15d
je        near ptr M02_L43
mov       [rbp-88],rdx
mov       [rbp-80],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-68]
mov       [rsp+28],rcx
lea       rcx,[rbp-88]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900B058D8]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-48]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
je        near ptr M02_L43
M02_L17
 
movzx     eax,byte ptr [rbp-68]
movzx     r8d,byte ptr [rbp-67]
mov       r13d,[rbp-64]
mov       r15d,[rbp-60]
mov       r10d,[rbp-5C]
mov       [rbp-74],r10d
mov       r9d,[rbp-58]
mov       [rbp-78],r9d
test      r15d,r15d
je        near ptr M02_L65
test      r13d,r13d
jl        short M02_L18
test      eax,eax
jne       near ptr M02_L55
cmp       r15d,1
je        near ptr M02_L62
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L22
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L22
jmp       near ptr M02_L23
M02_L18
 
test      eax,eax
je        near ptr M02_L48
test      r8d,r8d
jne       near ptr M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       near ptr M02_L25
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        near ptr M02_L25
jmp       near ptr M02_L26
M02_L19
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L20
 
mov       rcx,rbx
mov       rdx,7FF900AF3880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L21
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B05038]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L38
lea       rdx,[rdi+10]
mov       r8d,[rbp-8C]
mov       [rbp-0A8],rdx
mov       [rbp-6C],r8d
mov       rcx,27F8FC002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-44],r10d
test      r10d,r10d
je        near ptr M02_L15
mov       [rbp-88],rdx
mov       [rbp-80],r8d
lea       rcx,[rbp-88]
call      qword ptr [7FF900B05908]
mov       rdx,[rbp-0A8]
mov       r8d,[rbp-6C]
mov       r10d,[rbp-44]
jmp       near ptr M02_L16
M02_L22
 
mov       rcx,rbx
mov       rdx,7FF900AF6E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L23
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06B50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L28
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L28
jmp       short M02_L29
M02_L25
 
mov       rcx,rbx
mov       rdx,7FF900AFA368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06B50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L27
 
mov       r12,rax
jmp       short M02_L24
M02_L28
 
mov       rcx,rbx
mov       rdx,7FF900AF4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L29
 
mov       rax,r12
test      rax,rax
je        short M02_L30
cmp       [rax],rcx
je        short M02_L30
mov       rdx,r12
call      qword ptr [7FF8FFFF43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L30
 
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L34
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FF900AF2900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900B045D0]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L35
jmp       short M02_L36
M02_L35
 
mov       rcx,rbx
mov       rdx,7FF900AF21C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L36
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900ACF690]
mov       rax,rbx
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L37
 
mov       rcx,27F8FC002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,27F8FC002E0
cmp       rdi,[rcx]
jne       near ptr M02_L31
jmp       near ptr M02_L02
M02_L38
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L40
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L39
jmp       short M02_L42
M02_L39
 
mov       [rbp-98],rax
jmp       short M02_L41
M02_L40
 
mov       [rbp-98],rax
M02_L41
 
mov       rcx,rbx
mov       rdx,7FF900AF4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-98]
M02_L42
 
mov       rdx,rax
call      qword ptr [7FF8FFFF43D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0C8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L43
 
mov       rcx,27F8FC14E10
mov       r9,[rcx]
mov       [rbp-0B0],rdx
mov       [rbp-70],r8d
mov       [rbp-4C],eax
mov       [rbp-50],r10d
test      r9,r9
jne       short M02_L44
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0A0],r9
mov       rdx,27F8FC14E08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900B31980
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,27F8FC14E10
mov       rdx,[rbp-0A0]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0A0]
M02_L44
 
mov       rdx,[rbp-0B0]
mov       [rbp-88],rdx
mov       r8d,[rbp-70]
mov       [rbp-80],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-88]
movzx     r8d,byte ptr [rbp-4C]
movzx     r9d,byte ptr [rbp-50]
lea       rcx,[rbp-68]
call      qword ptr [7FF900B058F0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L17
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900AF9AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B34D20]
mov       rax,r12
jmp       near ptr M02_L27
M02_L48
 
cmp       r15d,1
je        short M02_L51
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L49
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L49
jmp       short M02_L50
M02_L49
 
mov       rcx,rbx
mov       rdx,7FF900AF9050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L50
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B342A0]
jmp       short M02_L54
M02_L51
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L52
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L52
jmp       short M02_L53
M02_L52
 
mov       rcx,rbx
mov       rdx,7FF900AF87C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L53
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0F810]
M02_L54
 
jmp       near ptr M02_L24
M02_L55
 
test      r8d,r8d
jne       short M02_L58
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L56
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L56
jmp       short M02_L57
M02_L56
 
mov       rcx,rbx
mov       rdx,7FF900AF7F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L57
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0ED90]
jmp       short M02_L61
M02_L58
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L59
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L59
jmp       short M02_L60
M02_L59
 
mov       rcx,rbx
mov       rdx,7FF900AF76B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L60
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-74]
mov       [rsp+20],eax
mov       r10d,[rbp-78]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0E310]
M02_L61
 
jmp       near ptr M02_L24
M02_L62
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L63
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L63
jmp       short M02_L64
M02_L63
 
mov       rcx,rbx
mov       rdx,7FF900AF65A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L64
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-74]
mov       [rsp+20],r15d
mov       r15d,[rbp-78]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0CE10]
jmp       near ptr M02_L24
M02_L65
 
test      eax,eax
je        near ptr M02_L72
test      r8d,r8d
jne       short M02_L68
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L66
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L66
jmp       short M02_L67
M02_L66
 
mov       rcx,rbx
mov       rdx,7FF900AF5B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L67
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0C360]
jmp       short M02_L71
M02_L68
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L69
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L69
jmp       short M02_L70
M02_L69
 
mov       rcx,rbx
mov       rdx,7FF900AF52F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L70
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B07888]
M02_L71
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L72
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L73
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L73
jmp       short M02_L74
M02_L73
 
mov       rcx,rbx
mov       rdx,7FF900AF4940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L74
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-74]
mov       [rsp+20],r13d
mov       r13d,[rbp-78]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06C88]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900B10268
xor       r8d,r8d
call      qword ptr [7FF900AF79F0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900B13CA0
call      qword ptr [7FF900AF7A38]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF90002FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FF900024360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF900024360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF90002EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FF900B20980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FF900B0F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FF900B0FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FF900B0FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF90002EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900B0FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900B0FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF90002EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FF8FFEE0FD8
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FF900B0F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FF900AF7258]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FF900B20810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FF900B0F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FF900AF7258]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FF900AECD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AF7AC8]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFEE0FE0
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF90002EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900B22A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF90002FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF900024390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900B22AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF90002ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF9004CE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF900024390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900B22B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF90002ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF9004CE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FF900B23880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900AFF840]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,1B57B8002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FF900B34198]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900B34168]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FF900B26E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B353E0]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FF900B24950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FF9000243F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900B22900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900AFEDD8]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FF900B221C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AFE208]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,1B57B8002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1B57B8002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FF900B24950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FF9000243D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,1B57D807868
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,1B57D807860
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900B60270
call      qword ptr [7FF900024210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,1B57D807868
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FF900B34180]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900B2A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B64090]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900B29AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3F5D0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FF900B29050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3EB50]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FF900B287C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3E0D0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900B27F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3D650]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900B276B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3CBD0]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FF900B265A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B37690]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900B25B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B36BE0]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900B252F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B36118]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900B24940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B35518]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900AE0EA0
xor       r8d,r8d
call      qword ptr [7FF900ACCE88]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900AE48D8
call      qword ptr [7FF900ACCED0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FF900AF0980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FF900ADFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FF900ADFE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF8FFFFEBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900ADFF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900ADFF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF8FFFFEE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FF8FFEB0FD8
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FF900ACC6F0]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FF900AF0810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FF900ADF9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FF900ACC6F0]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FF900ABD7D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ACCF60]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFEB0FE0
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900AF2A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900AF2AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900AF2B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        near ptr M02_L18
M02_L09
 
cmp       edx,r13d
jg        near ptr M02_L17
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L15
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L35
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900B058D8]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L35
M02_L16
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L37
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L17
 
mov       r13d,edx
jmp       near ptr M02_L10
M02_L18
 
mov       r15d,edx
jmp       near ptr M02_L09
M02_L19
 
mov       rcx,rbx
mov       rdx,7FF900AF3880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B05038]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L38
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,21FC68002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L14
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FF900B05908]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L15
M02_L21
 
mov       rcx,rbx
mov       rdx,7FF900AF6E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06B50]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FF900AF4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FF8FFFF43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900AF2900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900B045D0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FF900AF21C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900ACF690]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,21FC68002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,21FC68002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,21FC6814E10
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L36
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,21FC6814E08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900B31980
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,21FC6814E10
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L36
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FF900B058F0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L16
M02_L37
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       near ptr M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L38
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L40
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L39
jmp       short M02_L42
M02_L39
 
mov       [rbp-0B0],rax
jmp       short M02_L41
M02_L40
 
mov       [rbp-0B0],rax
M02_L41
 
mov       rcx,rbx
mov       rdx,7FF900AF4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L42
 
mov       rdx,rax
call      qword ptr [7FF8FFFF43D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900AFA368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B357A0]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900AF9AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B34D20]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FF900AF9050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B342A0]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FF900AF87C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0F810]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900AF7F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0ED90]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900AF76B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0E310]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FF900AF65A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0CE10]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900AF5B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B0C360]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900AF52F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B07888]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900AF4940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B06C88]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900B10EA0
xor       r8d,r8d
call      qword ptr [7FF900AEEA78]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900B148D8
call      qword ptr [7FF900AEEAC0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF90001EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FF900B20980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FF900B0F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FF900B0FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FF900B0FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF90001EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900B0FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900B0FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF90001EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FF8FFED1028
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FF900B0F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FF900AEE2E0]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FF900B20810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FF900B0F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FF900AEE2E0]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FF900AFD7D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEEB50]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFED1030
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF90001EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900B22A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF90001FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF900014390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900B22AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF90001ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF9004BE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF900014390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900B22B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF90001ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF9004BE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L16
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       short M02_L17
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M02_L17
jmp       short M02_L18
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r10d,[rbp-5C]
xor       eax,eax
jmp       near ptr M02_L19
M02_L16
 
mov       r15d,edx
jmp       short M02_L09
M02_L17
 
mov       rcx,rbx
mov       rdx,7FF900B23880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L18
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B368F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,14A0AC002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        short M02_L15
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FF900B371C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
M02_L19
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900B37198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L20
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       short M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        short M02_L21
jmp       short M02_L22
M02_L21
 
mov       rcx,rbx
mov       rdx,7FF900B26E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3C480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FF900B24950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FF9000143F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900B22900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900B35E90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FF900B221C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900B352C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,14A0AC002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,14A0AC002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FF900B24950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FF9000143D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,14A0AC14E10
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,14A0AC14E08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900B53510
call      qword ptr [7FF900014210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,14A0AC14E10
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FF900B371B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L20
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900B2A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B57330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900B29AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B568B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FF900B29050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B55E30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FF900B287C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B553B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900B27F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B54930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900B276B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3FC30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FF900B265A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3E730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900B25B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3DC80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900B252F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3D1B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900B24940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900B3C5B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900C25CD8
xor       r8d,r8d
call      qword ptr [7FF900C1EA78]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900C29710
call      qword ptr [7FF900C1EAC0]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF900004360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF90000EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FF900C40980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FF900C3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FF900C3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FF900C3FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF90000EBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900C3FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900C3FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF90000EE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FF8FFEC12F8
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FF900C3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FF900C1E2E0]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FF900C40810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FF900C3F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FF900C1E2E0]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FF900C227A8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900C1EB50]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFEC1300
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF90000EC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900C42A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF90000FC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF900004390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900C42AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF90000ECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF9004AE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF900004390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900C42B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF90000ECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF9004AE418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900C57198]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L18
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L19
 
mov       rcx,rbx
mov       rdx,7FF900C43880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C568F8]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,1169C0002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FF900C571C8]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L17
M02_L21
 
mov       rcx,rbx
mov       rdx,7FF900C46E30
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C5C480]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FF900C44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FF9000043F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900C42900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900C55E90]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FF900C421C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900C552C0]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,1169C0002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,1169C0002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FF900C44950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FF9000043D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,11698012E18
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,11698012E10
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900C83510
call      qword ptr [7FF900004210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,11698012E18
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FF900C571B0]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900C4A368
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C87330]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900C49AE0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C868B0]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FF900C49050
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C85E30]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FF900C487C8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C853B0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900C47F40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C84930]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900C476B8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C5FC30]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FF900C465A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C5E730]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900C45B90
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C5DC80]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900C452F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C5D1B8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900C44940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900C5C5B8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToFrozenDictionary()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
lea       r9,[rsp+28]
mov       rcx,7FF900CA2A38
xor       r8d,r8d
call      qword ptr [7FF900C8CCF0]; System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
test      rax,rax
jne       short M00_L00
mov       rdx,[rsp+28]
mov       rcx,7FF900CA6470
call      qword ptr [7FF900C8CD38]; System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
M00_L00
 
xor       ecx,ecx
mov       [rsp+28],rcx
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
 
System.Collections.Frozen.FrozenDictionary.GetExistingFrozenOrNewDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, System.Collections.Generic.IEqualityComparer`1, System.Collections.Generic.Dictionary`2 ByRef)
push      rbp
push      rsi
push      rbx
sub       rsp,50
lea       rbp,[rsp+60]
xor       eax,eax
mov       [rbp-28],rax
mov       [rbp-20],rax
mov       [rbp-40],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       [rbp+20],r8
mov       [rbp+28],r9
mov       rbx,rdx
test      rbx,rbx
je        near ptr M01_L28
cmp       qword ptr [rbp+20],0
jne       short M01_L01
mov       rdx,[rcx+10]
cmp       qword ptr [rdx+10],48
jle       near ptr M01_L06
mov       rdx,[rdx+48]
test      rdx,rdx
je        near ptr M01_L06
M01_L00
 
mov       rcx,rdx
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
mov       [rbp+20],rax
mov       rcx,[rbp+10]
M01_L01
 
mov       rdx,[rcx+10]
mov       r8,[rdx+18]
test      r8,r8
je        near ptr M01_L07
M01_L02
 
mov       rcx,r8
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L05
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx+10]
mov       rax,[rdx+20]
test      rax,rax
je        near ptr M01_L10
M01_L04
 
mov       rcx,rax
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rcx,[rbp+28]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+28]
mov       rax,[rcx]
test      rax,rax
je        near ptr M01_L11
mov       rdx,rax
mov       r8d,[rdx+38]
sub       r8d,[rdx+40]
je        near ptr M01_L09
mov       rcx,rax
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rcx,rax
mov       rax,[rcx]
mov       rdx,offset MT_System.Collections.Generic.GenericEqualityComparer
cmp       rax,rdx
jne       short M01_L08
cmp       qword ptr [rbp+20],0
je        near ptr M01_L11
mov       rcx,[rcx]
mov       rdx,[rbp+20]
cmp       rcx,[rdx]
je        short M01_L09
jmp       near ptr M01_L11
M01_L05
 
mov       rcx,[rsi+8]
mov       rdx,[rbp+20]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L03
xor       eax,eax
mov       rcx,[rbp+28]
mov       [rcx],rax
mov       rax,rsi
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L06
 
mov       rdx,7FF900CB0980
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
jmp       near ptr M01_L00
M01_L07
 
mov       rdx,7FF900C9F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       r8,rcx
jmp       near ptr M01_L02
M01_L08
 
mov       rdx,[rbp+20]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        short M01_L11
M01_L09
 
mov       rcx,[rbp+28]
mov       rax,[rcx]
mov       ecx,[rax+38]
sub       ecx,[rax+40]
je        near ptr M01_L20
xor       eax,eax
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L10
 
mov       rdx,7FF900C9FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
jmp       near ptr M01_L04
M01_L11
 
mov       rax,[rbp+10]
mov       rdx,[rax+10]
mov       rdx,[rdx+20]
test      rdx,rdx
je        short M01_L12
jmp       short M01_L13
M01_L12
 
mov       rcx,rax
mov       rdx,7FF900C9FE58
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdx,rax
M01_L13
 
mov       rcx,rdx
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       r8,[rbp+20]
xor       edx,edx
call      qword ptr [7FF8FFFFEBC8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1)
mov       rcx,[rbp+28]
mov       rdx,rsi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L14
jmp       short M01_L15
M01_L14
 
mov       rcx,rax
mov       rdx,7FF900C9FF40
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L15
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-30],rax
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L17
jmp       short M01_L18
M01_L17
 
mov       rcx,rax
mov       rdx,7FF900C9FF60
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L18
 
lea       rdx,[rbp-28]
mov       rcx,[rbp-30]
call      qword ptr [r11]
mov       rcx,[rbp+28]
mov       rdx,[rcx]
mov       r8,[rbp-28]
mov       r9,[rbp-20]
cmp       [rdx],dl
mov       rcx,rdx
mov       rdx,r8
mov       r8,r9
mov       r9d,1
call      qword ptr [7FF8FFFFEE98]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].TryInsert(System.__Canon, System.__Canon, System.Collections.Generic.InsertionBehavior)
M01_L19
 
mov       rcx,[rbp-30]
mov       r11,7FF8FFEB1B88
call      qword ptr [r11]
test      eax,eax
jne       short M01_L16
mov       rcx,rsp
call      M01_L29
jmp       near ptr M01_L09
M01_L20
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L21
jmp       short M01_L22
M01_L21
 
mov       rcx,rax
mov       rdx,7FF900C9F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L22
 
call      qword ptr [7FF900C8C558]
mov       rcx,[rax+8]
cmp       rcx,[rbp+20]
je        short M01_L25
mov       rax,[rbp+10]
mov       rcx,[rax+10]
cmp       qword ptr [rcx+10],40
jle       short M01_L23
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rax
mov       rdx,7FF900CB0810
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L24
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
lea       rcx,[rbx+8]
mov       rdx,[rbp+20]
call      CORINFO_HELP_ASSIGN_REF
mov       rax,rbx
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L25
 
mov       rax,[rbp+10]
mov       rcx,[rax+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rax
mov       rdx,7FF900C9F9A8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M01_L27
 
call      qword ptr [7FF900C8C558]
nop
add       rsp,50
pop       rbx
pop       rsi
pop       rbp
ret
M01_L28
 
mov       ecx,6A7
mov       rdx,7FF900C7F060
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900C8CDC8]
int       3
M01_L29
 
push      rbp
push      rsi
push      rbx
sub       rsp,30
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+60]
cmp       qword ptr [rbp-30],0
je        short M01_L30
mov       rcx,[rbp-30]
mov       r11,7FF8FFEB1B90
call      qword ptr [r11]
M01_L30
 
nop
add       rsp,30
pop       rbx
pop       rsi
pop       rbp
ret
 
System.Collections.Frozen.FrozenDictionary.CreateFromDictionary[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.Dictionary`2)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,0D8
lea       rbp,[rsp+110]
xor       eax,eax
mov       [rbp-0A0],rax
mov       [rbp-40],rcx
mov       rbx,rcx
mov       rsi,rdx
mov       rcx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF8FFFFEC70]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Comparer()
mov       rdi,rax
mov       rcx,[rbx+10]
mov       rdx,offset MT_System.String
cmp       [rcx],rdx
jne       near ptr M02_L28
mov       rcx,[rbx+10]
mov       rcx,[rcx+28]
test      rcx,rcx
je        short M02_L00
jmp       short M02_L01
M02_L00
 
mov       rcx,rbx
mov       rdx,7FF900CB2A70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L01
 
call      qword ptr [7FF8FFFFFC30]; System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib]].get_Default()
cmp       rax,rdi
jne       near ptr M02_L34
M02_L02
 
mov       rdx,rdi
mov       rcx,offset MT_System.Collections.Generic.IEqualityComparer
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       r14,rax
mov       rcx,[rbx+10]
mov       rdi,[rcx+30]
test      rdi,rdi
je        short M02_L03
jmp       short M02_L04
M02_L03
 
mov       rcx,rbx
mov       rdx,7FF900CB2AB0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rdi,rax
M02_L04
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECA0]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Keys()
mov       rdx,rax
mov       rcx,rdi
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rdi,rax
test      rdi,rdi
je        short M02_L05
mov       rcx,offset MT_System.String[]
cmp       [rdi],rcx
je        short M02_L05
mov       rdx,rax
call      qword ptr [7FF8FFFF4390]; System.Runtime.CompilerServices.CastHelpers.ChkCastAny(Void*, System.Object)
mov       rdi,rax
M02_L05
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],38
jle       short M02_L06
mov       r15,[rcx+38]
test      r15,r15
je        short M02_L06
jmp       short M02_L07
M02_L06
 
mov       rcx,rbx
mov       rdx,7FF900CB2B70
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r15,rax
M02_L07
 
mov       rcx,rsi
call      qword ptr [7FF8FFFFECE8]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].get_Values()
mov       rdx,rax
mov       rcx,r15
call      qword ptr [7FF90049E418]; System.Linq.Enumerable.ToArray[[System.__Canon, System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1)
mov       rsi,rax
mov       r15d,7FFFFFFF
xor       r13d,r13d
xor       r12d,r12d
xor       ecx,ecx
mov       eax,[rdi+8]
mov       [rbp-0A4],eax
test      eax,eax
jle       short M02_L13
M02_L08
 
mov       edx,ecx
mov       rdx,[rdi+rdx*8+10]
mov       edx,[rdx+8]
cmp       edx,r15d
jl        short M02_L15
M02_L09
 
cmp       edx,r13d
jg        short M02_L14
M02_L10
 
mov       r8d,1
shlx      rdx,r8,rdx
or        r12,rdx
inc       ecx
cmp       eax,ecx
jg        short M02_L12
M02_L11
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],40
jle       near ptr M02_L19
mov       rcx,[rcx+40]
test      rcx,rcx
je        near ptr M02_L19
jmp       near ptr M02_L20
M02_L12
 
mov       eax,[rbp-0A4]
jmp       short M02_L08
M02_L13
 
jmp       short M02_L11
M02_L14
 
mov       r13d,edx
jmp       short M02_L10
M02_L15
 
mov       r15d,edx
jmp       short M02_L09
M02_L16
 
mov       r10d,[rbp-5C]
xor       eax,eax
M02_L17
 
movzx     eax,al
mov       [rbp-60],eax
test      r15d,r15d
je        near ptr M02_L40
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
mov       [rsp+20],r13d
lea       rcx,[rbp-80]
mov       [rsp+28],rcx
lea       rcx,[rbp-0A0]
mov       edx,eax
mov       r8d,r10d
mov       r9d,r15d
call      qword ptr [7FF900CC5428]; System.Collections.Frozen.KeyAnalyzer.TryUseSubstring(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, AnalysisResults ByRef)
test      eax,eax
mov       eax,[rbp-60]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
je        near ptr M02_L40
M02_L18
 
movzx     eax,byte ptr [rbp-80]
mov       r13d,[rbp-7C]
mov       r15d,[rbp-78]
mov       r8d,[rbp-74]
mov       [rbp-8C],r8d
mov       r10d,[rbp-70]
mov       [rbp-90],r10d
movzx     ecx,byte ptr [rbp-7F]
mov       [rbp-57],cl
test      r15d,r15d
je        near ptr M02_L66
test      r13d,r13d
jl        near ptr M02_L42
test      eax,eax
jne       near ptr M02_L56
cmp       r15d,1
je        near ptr M02_L63
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],70
jle       near ptr M02_L21
mov       rcx,[rcx+70]
test      rcx,rcx
je        near ptr M02_L21
jmp       near ptr M02_L22
M02_L19
 
mov       rcx,rbx
mov       rdx,7FF900CB3880
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L20
 
mov       [rsp+20],r15d
mov       [rsp+28],r13d
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CC4B88]; System.Collections.Frozen.LengthBucketsFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]].CreateLengthBucketsFrozenDictionaryIfAppropriate(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32)
test      rax,rax
jne       near ptr M02_L35
lea       rdx,[rdi+10]
mov       r8d,[rbp-0A4]
mov       [rbp-0C0],rdx
mov       [rbp-84],r8d
mov       rcx,229030002E0
xor       r10d,r10d
cmp       r14,[rcx]
sete      r10b
mov       [rbp-5C],r10d
test      r10d,r10d
je        near ptr M02_L16
mov       [rbp-0A0],rdx
mov       [rbp-98],r8d
lea       rcx,[rbp-0A0]
call      qword ptr [7FF900CC5458]
mov       rdx,[rbp-0C0]
mov       r8d,[rbp-84]
mov       r10d,[rbp-5C]
jmp       near ptr M02_L17
M02_L21
 
mov       rcx,rbx
mov       rdx,7FF900CE0630
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L22
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CC66A0]; System.Collections.Frozen.OrdinalStringFrozenDictionary`1[[System.__Canon, System.Private.CoreLib]]..ctor(System.String[], System.__Canon[], System.Collections.Generic.IEqualityComparer`1, Int32, Int32, Int32, Int32)
mov       rax,r12
M02_L23
 
mov       r12,rax
M02_L24
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L25
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L25
jmp       short M02_L26
M02_L25
 
mov       rcx,rbx
mov       rdx,7FF900CB4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L26
 
mov       rax,r12
test      rax,rax
je        short M02_L27
cmp       [rax],rcx
je        short M02_L27
mov       rdx,r12
call      qword ptr [7FF8FFFF43F0]; System.Runtime.CompilerServices.CastHelpers.ChkCastClassSpecial(Void*, System.Object)
M02_L27
 
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L28
 
mov       ecx,[rsi+38]
sub       ecx,[rsi+40]
cmp       ecx,4
jg        short M02_L31
mov       rcx,[rbx+10]
mov       rcx,[rcx+20]
test      rcx,rcx
je        short M02_L29
jmp       short M02_L30
M02_L29
 
mov       rcx,rbx
mov       rdx,7FF900CB2900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L30
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
call      qword ptr [7FF900CC4120]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L31
 
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M02_L32
jmp       short M02_L33
M02_L32
 
mov       rcx,rbx
mov       rdx,7FF900CB21C0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L33
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rcx,rbx
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900C8F4F8]
mov       rax,rbx
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L34
 
mov       rcx,229030002D8
cmp       rdi,[rcx]
je        near ptr M02_L02
mov       rcx,229030002E0
cmp       rdi,[rcx]
jne       near ptr M02_L28
jmp       near ptr M02_L02
M02_L35
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],50
jle       short M02_L37
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M02_L36
jmp       short M02_L39
M02_L36
 
mov       [rbp-0B0],rax
jmp       short M02_L38
M02_L37
 
mov       [rbp-0B0],rax
M02_L38
 
mov       rcx,rbx
mov       rdx,7FF900CB4950
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
mov       rax,[rbp-0B0]
M02_L39
 
mov       rdx,rax
call      qword ptr [7FF8FFFF43D8]; System.Runtime.CompilerServices.CastHelpers.ChkCastClass(Void*, System.Object)
nop
add       rsp,0D8
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M02_L40
 
mov       rcx,22903014E10
mov       r9,[rcx]
mov       [rbp-0C8],rdx
mov       [rbp-88],r8d
mov       [rbp-64],eax
mov       [rbp-68],r10d
test      r9,r9
jne       short M02_L41
mov       rcx,offset MT_System.Collections.Frozen.KeyAnalyzer+GetSpan
call      CORINFO_HELP_NEWSFAST
mov       r9,rax
mov       [rbp-0B8],r9
mov       rdx,22903014E08
mov       rdx,[rdx]
mov       rcx,r9
mov       r8,7FF900D01590
call      qword ptr [7FF8FFFF4210]; System.MulticastDelegate.CtorClosed(System.Object, IntPtr)
mov       rcx,22903014E10
mov       rdx,[rbp-0B8]
call      CORINFO_HELP_ASSIGN_REF
mov       r9,[rbp-0B8]
M02_L41
 
mov       rdx,[rbp-0C8]
mov       [rbp-0A0],rdx
mov       r8d,[rbp-88]
mov       [rbp-98],r8d
mov       [rsp+20],r15d
mov       [rsp+28],r13d
xor       edx,edx
mov       [rsp+30],edx
mov       [rsp+38],edx
mov       [rsp+40],r9
lea       rdx,[rbp-0A0]
movzx     r8d,byte ptr [rbp-64]
movzx     r9d,byte ptr [rbp-68]
lea       rcx,[rbp-80]
call      qword ptr [7FF900CC5440]; System.Collections.Frozen.KeyAnalyzer.CreateAnalysisResults(System.ReadOnlySpan`1, Boolean, Boolean, Int32, Int32, Int32, Int32, GetSpan)
jmp       near ptr M02_L18
M02_L42
 
test      eax,eax
je        near ptr M02_L49
cmp       byte ptr [rbp-57],0
jne       short M02_L45
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],0A0
jle       short M02_L43
mov       rcx,[rcx+0A0]
test      rcx,rcx
je        short M02_L43
jmp       short M02_L44
M02_L43
 
mov       rcx,rbx
mov       rdx,7FF900CE3B68
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L44
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900D053B0]
jmp       short M02_L48
M02_L45
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],98
jle       short M02_L46
mov       rcx,[rcx+98]
test      rcx,rcx
je        short M02_L46
jmp       short M02_L47
M02_L46
 
mov       rcx,rbx
mov       rdx,7FF900CE32E0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L47
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900D04930]
M02_L48
 
jmp       near ptr M02_L24
M02_L49
 
cmp       r15d,1
je        short M02_L52
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],90
jle       short M02_L50
mov       rcx,[rcx+90]
test      rcx,rcx
je        short M02_L50
jmp       short M02_L51
M02_L50
 
mov       rcx,rbx
mov       rdx,7FF900CE2850
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L51
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CCFE70]
jmp       short M02_L55
M02_L52
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],88
jle       short M02_L53
mov       rcx,[rcx+88]
test      rcx,rcx
je        short M02_L53
jmp       short M02_L54
M02_L53
 
mov       rcx,rbx
mov       rdx,7FF900CE1FC8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L54
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CCF3F0]
M02_L55
 
jmp       near ptr M02_L24
M02_L56
 
cmp       byte ptr [rbp-57],0
jne       short M02_L59
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],80
jle       short M02_L57
mov       rcx,[rcx+80]
test      rcx,rcx
je        short M02_L57
jmp       short M02_L58
M02_L57
 
mov       rcx,rbx
mov       rdx,7FF900CE1740
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L58
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CCE970]
jmp       short M02_L62
M02_L59
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],78
jle       short M02_L60
mov       rcx,[rcx+78]
test      rcx,rcx
je        short M02_L60
jmp       short M02_L61
M02_L60
 
mov       rcx,rbx
mov       rdx,7FF900CE0EB8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L61
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       eax,[rbp-8C]
mov       [rsp+20],eax
mov       r10d,[rbp-90]
mov       [rsp+28],r10d
mov       [rsp+30],r13d
mov       [rsp+38],r15d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CCDEF0]
M02_L62
 
jmp       near ptr M02_L24
M02_L63
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],68
jle       short M02_L64
mov       rcx,[rcx+68]
test      rcx,rcx
je        short M02_L64
jmp       short M02_L65
M02_L64
 
mov       rcx,rbx
mov       rdx,7FF900CBFDA8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L65
 
call      CORINFO_HELP_NEWSFAST
mov       r12,rax
mov       r15d,[rbp-8C]
mov       [rsp+20],r15d
mov       r15d,[rbp-90]
mov       [rsp+28],r15d
mov       [rsp+30],r13d
mov       rcx,r12
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CCC9F0]
mov       rax,r12
jmp       near ptr M02_L23
M02_L66
 
test      eax,eax
je        near ptr M02_L73
cmp       byte ptr [rbp-57],0
jne       short M02_L69
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],60
jle       short M02_L67
mov       rcx,[rcx+60]
test      rcx,rcx
je        short M02_L67
jmp       short M02_L68
M02_L67
 
mov       rcx,rbx
mov       rdx,7FF900CBF390
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L68
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CC7EA0]
jmp       short M02_L72
M02_L69
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],58
jle       short M02_L70
mov       rcx,[rcx+58]
test      rcx,rcx
je        short M02_L70
jmp       short M02_L71
M02_L70
 
mov       rcx,rbx
mov       rdx,7FF900CB52F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L71
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CC73D8]
M02_L72
 
mov       r12,r15
jmp       near ptr M02_L24
M02_L73
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+10],48
jle       short M02_L74
mov       rcx,[rcx+48]
test      rcx,rcx
je        short M02_L74
jmp       short M02_L75
M02_L74
 
mov       rcx,rbx
mov       rdx,7FF900CB4940
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
M02_L75
 
call      CORINFO_HELP_NEWSFAST
mov       r15,rax
mov       r13d,[rbp-8C]
mov       [rsp+20],r13d
mov       r13d,[rbp-90]
mov       [rsp+28],r13d
mov       [rsp+30],r12
mov       rcx,r15
mov       rdx,rdi
mov       r8,rsi
mov       r9,r14
call      qword ptr [7FF900CC67D8]
mov       r12,r15
jmp       near ptr M02_L24
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,25354812E38
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900AD7240]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,25350801FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,25354812E40
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900ADD908]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900ADEEF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900AD6E80]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900AD6C10]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900AC8FF8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ADE040]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900AF5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900AF56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L20
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L14
mov       ecx,[r8+18]
cmp       eax,ecx
je        near ptr M01_L13
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,[r8+8]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900ADD8A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L23
M01_L12
 
mov       ecx,[r8+0C]
mov       rdx,[r8]
mov       r10d,[rdx+38]
cmp       ecx,r10d
jb        near ptr M01_L19
mov       rax,[rbp-0E8]
inc       r10d
mov       [r8+0C],r10d
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L15
M01_L14
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L15
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L17
M01_L16
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FF900ADCBE8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L22
jmp       near ptr M01_L09
M01_L17
 
mov       rcx,rbx
mov       rdx,7FF900AF5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L16
M01_L18
 
mov       rcx,rax
mov       r11,7FF8FFEC0F68
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rdx,[r8]
mov       rdx,[rdx+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L21
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        near ptr M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L20
 
mov       ecx,717
mov       rdx,7FF900AC8FF8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ADE040]
int       3
M01_L21
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L22
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900ADD9F8]
mov       r15,rax
jmp       near ptr M01_L10
M01_L23
 
call      qword ptr [7FF900375E00]
int       3
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900AF5698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900ADE418]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900AF4180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FF900AC8FF8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ADE040]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FF8FFEC0F70
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FF8FFEC0F70
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
je        short M02_L02
M02_L01
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L02
 
test      rsi,rsi
je        short M02_L03
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L04
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900ADC810]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L03
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900ADD908]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900ADD908]
mov       byte ptr [rbx+1C],1
jmp       short M02_L01
M02_L04
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L03
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900375D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,293E28A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,1E9BAC14E30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900AED020]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,1E9BAC01FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,1E9BAC14E38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900AEF030]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900B24888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900AECC60]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900AEC9F0]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900ADD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF768]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900B15860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900B156B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900AEEFD0]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FF900ADD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF768]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900AEF120]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FF900385E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FF8FFED0F68
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FF900AEE310]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900B15878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900B15698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900AEFB40]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900B14180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FF900ADD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF768]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900AEDF38]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEF030]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEF030]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900385D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,22A4CB10008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,2A52F414E30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900AECE88]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,2A52F401FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,2A52F414E38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900AEEE98]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900B24888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900AECAC8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900AEC858]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900ADCD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF5D0]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900B15860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900B156B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900AEEE38]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FF900ADCD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF5D0]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900AEEF88]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FF900385E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FF8FFED0F68
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FF900AEE178]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900B15878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900B15698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900AEF9A8]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900B14180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FF900ADCD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF5D0]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900AEDDA0]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEEE98]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEEE98]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900385D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,2E5C10E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,17629812E38
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900AECE88]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,1762D801FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,17629812E40
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900AEEE98]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900B24888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900AECAC8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900AEC858]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900ADCD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF5D0]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900B15860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900B156B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900AEEE38]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FF900ADCD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF5D0]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900AEEF88]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FF900385E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FF8FFED0F68
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FF900AEE178]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900B15878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900B15698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900AEF9A8]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900B14180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FF900ADCD28
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF5D0]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900AEDDA0]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEEE98]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEEE98]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900385D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,1B6BB7F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,1E91D014E30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900AED020]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,1E91D001FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,1E91D014E38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900AEF030]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900B24888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900AECC60]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900AEC9F0]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900ADD7D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF768]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900B15860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900B156B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900AEEFD0]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FF900ADD7D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF768]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900AEF120]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FF900385E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FF8FFED0F68
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FF900AEE310]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900B15878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900B15698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900AEFB40]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900B14180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FF900ADD7D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEF768]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FF8FFED0F70
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900AEDF38]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEF030]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900AEF030]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900385D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,229AECA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,24B59814E30
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900ADCE88]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,24B59801FF0
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,24B59814E38
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900ADEE98]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900B14888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900ADCAC8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900ADC858]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900ACD3B8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ADF5D0]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       rdi,rcx
mov       rbx,rdx
mov       r14,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      r14,r14
je        near ptr M01_L29
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L24
M01_L01
 
mov       rcx,r14
call      qword ptr [r11]
mov       [rbp-0E8],rax
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r14,[rcx+88]
test      r14,r14
je        short M01_L03
M01_L02
 
jmp       near ptr M01_L11
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900B05860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r14,rax
jmp       short M01_L02
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900B056B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L06
M01_L05
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        short M01_L04
M01_L06
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rcx,[rbp-50]
test      rcx,rcx
je        near ptr M01_L15
mov       rcx,[r13+8]
mov       r11,r14
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       [rbp-54],eax
cmp       [r15],r15b
mov       r8,r15
M01_L07
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L20
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L14
jle       short M01_L08
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L08
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L07
M01_L09
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900ADEE38]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L10
 
cmp       dword ptr [rbp-78],1
jne       short M01_L11
mov       rax,[rbp-0E8]
inc       r12d
M01_L11
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
jne       near ptr M01_L18
lea       r8,[rax+8]
mov       [rbp-100],r8
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L12
 
mov       ecx,[r8+0C]
mov       r10,[r8]
cmp       ecx,[r10+38]
jae       near ptr M01_L19
mov       rdx,[r10+10]
lea       r10d,[rcx+1]
mov       [r8+0C],r10d
cmp       ecx,[rdx+8]
jae       short M01_L13
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L12
mov       rdx,[rcx]
mov       r10,[rcx+8]
mov       [rbp-108],r10
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L05
M01_L13
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L14
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L21
M01_L15
 
mov       ecx,717
mov       rdx,7FF900ACD3B8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ADF5D0]
int       3
M01_L16
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900ADEF88]
mov       r15,rax
jmp       near ptr M01_L10
M01_L17
 
call      qword ptr [7FF900375E00]
int       3
M01_L18
 
mov       rcx,rax
mov       r11,7FF8FFEC0F68
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L05
mov       rax,[rbp-0E8]
jmp       near ptr M01_L25
M01_L19
 
mov       rax,[rbp-0E8]
mov       ecx,[r10+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       near ptr M01_L25
M01_L20
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L21
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r8,[rbp-50]
mov       [rbp-0F0],r8
mov       r10,[rbp-48]
mov       [rbp-0F8],r10
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r9,[rcx+90]
test      r9,r9
je        short M01_L23
M01_L22
 
mov       r10,[rbp-0F8]
mov       [rsp+20],r10
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
mov       r8,r9
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,[rbp-0F0]
call      qword ptr [7FF900ADE178]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L16
jmp       near ptr M01_L09
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900B05878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r9,r8
jmp       near ptr M01_L22
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900B05698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L25
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L30
M01_L26
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L28
M01_L27
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900ADF9A8]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [rdi+8],eax
mov       rax,rdi
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900B04180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
jmp       short M01_L27
M01_L29
 
mov       ecx,40B
mov       rdx,7FF900ACD3B8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ADF5D0]
int       3
M01_L30
 
mov       rcx,rax
mov       r11,7FF8FFEC0F70
call      qword ptr [r11]
jmp       near ptr M01_L26
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L31
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L31
mov       rcx,rax
mov       r11,7FF8FFEC0F70
call      qword ptr [r11]
M01_L31
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900ADDDA0]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900ADEE98]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900ADEE98]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900375D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,28BEB5A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,23FAD412E38
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900B8F240]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,23FA9401FF8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,23FAD412E40
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900BD5908]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900BD6EF8]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900B8EE80]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900B8EC10]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900B9E8B0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900BD6040]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       r14,rcx
mov       rbx,rdx
mov       rdi,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      rdi,rdi
je        near ptr M01_L48
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L43
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-0E8],rax
test      rax,rax
je        near ptr M01_L25
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L25
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdi,[rcx+88]
test      rdi,rdi
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FF900BB7B60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdi,rax
M01_L03
 
jmp       near ptr M01_L10
M01_L04
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L14
M01_L05
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       r11,rdi
mov       rcx,r8
mov       rdx,[rbp-50]
call      qword ptr [r11]
cmp       [r15],r15b
mov       r8,r15
M01_L06
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L13
mov       [rbp-54],eax
jle       short M01_L07
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L07
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L08
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900BD58A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L09
 
cmp       dword ptr [rbp-78],1
jne       short M01_L10
mov       rax,[rbp-0E8]
inc       r12d
M01_L10
 
mov       rax,[rbp-0E8]
lea       r8,[rax+8]
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L11
 
mov       r10d,[r8+0C]
mov       r9,[r8]
cmp       r10d,[r9+38]
jae       near ptr M01_L42
mov       r9,[r9+10]
lea       ecx,[r10+1]
mov       [r8+0C],ecx
cmp       r10d,[r9+8]
jae       short M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L11
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
mov       [rbp-100],r8
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L14
 
mov       rcx,rbx
mov       rdx,7FF900BB79B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L05
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r8,[rcx+90]
test      r8,r8
je        short M01_L18
mov       r10,[rbp-0F0]
mov       [rbp-54],eax
M01_L17
 
mov       r9,[rbp-0F8]
mov       [rsp+20],r9
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,r10
call      qword ptr [7FF900BD4BE8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L41
jmp       near ptr M01_L08
M01_L18
 
mov       [rbp-54],eax
mov       rcx,rbx
mov       rdx,7FF900BB7B78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,[rbp-0F0]
jmp       near ptr M01_L17
M01_L19
 
mov       rcx,rbx
mov       rdx,7FF900BB7B60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
M01_L20
 
mov       r11,rax
mov       rcx,rdi
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       edi,eax
cmp       [r15],r15b
mov       r8,r15
M01_L21
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L29
mov       ecx,[r8+18]
cmp       edi,ecx
je        near ptr M01_L34
jle       short M01_L22
mov       r8,[r8+10]
jmp       short M01_L21
M01_L22
 
mov       r8,[r8+8]
jmp       short M01_L21
M01_L23
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,edi
mov       r9,r13
call      qword ptr [7FF900BD58A8]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L24
 
cmp       dword ptr [rbp-78],1
jne       short M01_L25
mov       rax,[rbp-0E8]
inc       r12d
M01_L25
 
mov       rax,[rbp-0E8]
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L37
lea       rcx,[rax+8]
mov       rdi,rcx
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L26
 
mov       r10d,[rdi+0C]
mov       r8,[rdi]
cmp       r10d,[r8+38]
jae       near ptr M01_L36
mov       r9,[r8+10]
lea       ecx,[r10+1]
mov       [rdi+0C],ecx
cmp       r10d,[r9+8]
jae       near ptr M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L26
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
M01_L27
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L32
M01_L28
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       rdi,r8
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rax,[rcx+88]
test      rax,rax
je        near ptr M01_L19
jmp       near ptr M01_L20
M01_L29
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L30
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r10,[rcx+90]
test      r10,r10
je        near ptr M01_L33
mov       rax,[rbp-0F0]
M01_L31
 
mov       r8,[rbp-0F8]
mov       [rsp+20],r8
mov       [rsp+28],r13
mov       r8,[r13+10]
mov       [rsp+30],r8
mov       [rsp+38],esi
lea       r8,[rbp-78]
mov       [rsp+40],r8
mov       r8,r10
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,rax
call      qword ptr [7FF900BD4BE8]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       r8,[rbp-80]
mov       [rbp-0C0],r8
cmp       qword ptr [rbp-0D0],0
je        short M01_L35
mov       rax,[rbp-0E8]
jmp       near ptr M01_L23
M01_L32
 
mov       rcx,rbx
mov       rdx,7FF900BB79B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L28
M01_L33
 
mov       rcx,rbx
mov       rdx,7FF900BB7B78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,r8
mov       rax,[rbp-0F0]
jmp       near ptr M01_L31
M01_L34
 
mov       rax,[rbp-0E8]
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L30
M01_L35
 
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,edi
call      qword ptr [7FF900BD59F8]
mov       r15,rax
jmp       near ptr M01_L24
M01_L36
 
mov       rax,[rbp-0E8]
mov       ecx,[r8+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L38
M01_L37
 
mov       rcx,rax
mov       r11,7FF8FFEB1288
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-0E8]
M01_L38
 
test      ecx,ecx
jne       near ptr M01_L27
mov       rax,[rbp-0E8]
jmp       short M01_L44
M01_L39
 
mov       ecx,717
mov       rdx,7FF900B9E8B0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900BD6040]
int       3
M01_L40
 
call      qword ptr [7FF900365E00]
int       3
M01_L41
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900BD59F8]
mov       r15,rax
jmp       near ptr M01_L09
M01_L42
 
mov       rax,[rbp-0E8]
mov       ecx,[r9+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L44
M01_L43
 
mov       rcx,rbx
mov       rdx,7FF900BB7998
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L44
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
je        short M01_L45
mov       rcx,rax
mov       r11,7FF8FFEB1290
call      qword ptr [r11]
M01_L45
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L46
jmp       short M01_L47
M01_L46
 
mov       rcx,rbx
mov       rdx,7FF900BB6480
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L47
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900BD6418]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [r14+8],eax
mov       rax,r14
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L48
 
mov       ecx,40B
mov       rdx,7FF900B9E8B0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900BD6040]
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L49
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L49
mov       rcx,rax
mov       r11,7FF8FFEB1290
call      qword ptr [r11]
M01_L49
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900BD4810]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900BD5908]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900BD5908]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900365D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,2803B490008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToImmutableDictionary()
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,50
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
mov       rbx,rcx
mov       r8,[rbx+280]
test      r8,r8
je        near ptr M00_L02
mov       r9,24279C07888
mov       rsi,[r9]
cmp       dword ptr [rsi+18],0
jne       short M00_L00
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>
cmp       [rcx],r9
je        near ptr M00_L04
mov       rcx,r8
mov       r9,offset MT_System.Collections.Immutable.ImmutableDictionary>+Builder
cmp       [rcx],r9
je        near ptr M00_L03
M00_L00
 
mov       r9,[rsi+8]
mov       rcx,[rsi+10]
mov       [rsp+28],r9
mov       [rsp+30],rcx
mov       dword ptr [rsp+20],2
lea       r9,[rsp+28]
lea       rcx,[rsp+40]
mov       rdx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      qword ptr [7FF900C8CE88]; System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
mov       rdi,[rsp+40]
mov       ebp,[rsi+18]
add       ebp,[rsp+48]
test      rdi,rdi
je        near ptr M00_L05
cmp       [rsi+8],rdi
je        near ptr M00_L07
cmp       qword ptr [rdi+8],0
je        near ptr M00_L05
mov       rcx,offset MT_System.Collections.Immutable.ImmutableDictionary>
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rdx,[rsi+10]
test      rdx,rdx
je        near ptr M00_L06
lea       rcx,[r14+10]
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,24279C078A8
mov       rdx,[rcx]
lea       rcx,[r14+8]
call      CORINFO_HELP_ASSIGN_REF
mov       rdx,24279C07890
mov       rdx,[rdx]
mov       rcx,rdi
call      qword ptr [7FF900C8EE98]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
lea       rcx,[r14+8]
mov       rdx,rdi
call      CORINFO_HELP_ASSIGN_REF
mov       [r14+18],ebp
M00_L01
 
mov       [rsp+38],r14
mov       rsi,[rbx+18]
mov       rdx,[rsp+38]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,50
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
ret
M00_L02
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       r14,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,r14
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L03
 
cmp       [rcx],ecx
call      qword ptr [7FF900CC4888]
mov       rcx,rax
M00_L04
 
mov       r8,[rsi+10]
mov       r8,[r8+10]
mov       rdx,[rsi+10]
mov       rdx,[rdx+8]
cmp       [rcx],ecx
call      qword ptr [7FF900C8CAC8]
mov       r14,rax
jmp       near ptr M00_L01
M00_L05
 
mov       rcx,rsi
call      qword ptr [7FF900C8C858]
mov       r14,rax
jmp       near ptr M00_L01
M00_L06
 
mov       ecx,6DB
mov       rdx,7FF900C7EE38
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900C8F5D0]
int       3
M00_L07
 
mov       r14,rsi
jmp       near ptr M00_L01
 
System.Collections.Immutable.ImmutableDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, MutationInput, KeyCollisionBehavior)
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,128
vzeroupper
lea       rbp,[rsp+160]
vxorps    xmm4,xmm4,xmm4
mov       rax,0FFFFFFFFFFFFFF70
M01_L00
 
vmovdqa   xmmword ptr [rbp+rax-40],xmm4
vmovdqa   xmmword ptr [rbp+rax-30],xmm4
vmovdqa   xmmword ptr [rbp+rax-20],xmm4
add       rax,30
jne       short M01_L00
mov       [rbp-118],rsp
mov       [rbp-40],rdx
mov       r14,rcx
mov       rbx,rdx
mov       rdi,r8
mov       esi,[rbp+30]
mov       r15,[r9]
mov       r13,[r9+8]
test      rdi,rdi
je        near ptr M01_L48
xor       r12d,r12d
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+68]
test      r11,r11
je        near ptr M01_L43
M01_L01
 
mov       rcx,rdi
call      qword ptr [r11]
mov       [rbp-0E8],rax
test      rax,rax
je        near ptr M01_L25
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L25
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdi,[rcx+88]
test      rdi,rdi
je        short M01_L02
jmp       short M01_L03
M01_L02
 
mov       rcx,rbx
mov       rdx,7FF900CB5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdi,rax
M01_L03
 
jmp       near ptr M01_L10
M01_L04
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L14
M01_L05
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       r11,rdi
mov       rcx,r8
mov       rdx,[rbp-50]
call      qword ptr [r11]
cmp       [r15],r15b
mov       r8,r15
M01_L06
 
mov       rcx,[r8+8]
test      rcx,rcx
je        near ptr M01_L15
mov       edx,[r8+18]
cmp       eax,edx
je        near ptr M01_L13
mov       [rbp-54],eax
jle       short M01_L07
mov       r8,[r8+10]
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L07
 
mov       r8,rcx
mov       eax,[rbp-54]
jmp       short M01_L06
M01_L08
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,[rbp-54]
mov       r9,r13
call      qword ptr [7FF900C8EE38]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L09
 
cmp       dword ptr [rbp-78],1
jne       short M01_L10
mov       rax,[rbp-0E8]
inc       r12d
M01_L10
 
mov       rax,[rbp-0E8]
lea       r8,[rax+8]
mov       ecx,[r8+8]
mov       rdx,[r8]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L11
 
mov       r10d,[r8+0C]
mov       r9,[r8]
cmp       r10d,[r9+38]
jae       near ptr M01_L42
mov       r9,[r9+10]
lea       ecx,[r10+1]
mov       [r8+0C],ecx
cmp       r10d,[r9+8]
jae       short M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L11
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
mov       [rbp-100],r8
lea       rcx,[r8+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-100]
lea       rcx,[rax+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L04
M01_L12
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L13
 
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       short M01_L16
M01_L14
 
mov       rcx,rbx
mov       rdx,7FF900CB56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L05
M01_L15
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L16
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r8,[rcx+90]
test      r8,r8
je        short M01_L18
mov       r10,[rbp-0F0]
mov       [rbp-54],eax
M01_L17
 
mov       r9,[rbp-0F8]
mov       [rsp+20],r9
mov       [rsp+28],r13
mov       rcx,[r13+10]
mov       [rsp+30],rcx
mov       [rsp+38],esi
lea       rcx,[rbp-78]
mov       [rsp+40],rcx
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,r10
call      qword ptr [7FF900C8E178]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       rcx,[rbp-80]
mov       [rbp-0C0],rcx
cmp       qword ptr [rbp-0D0],0
je        near ptr M01_L41
jmp       near ptr M01_L08
M01_L18
 
mov       [rbp-54],eax
mov       rcx,rbx
mov       rdx,7FF900CB5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,[rbp-0F0]
jmp       near ptr M01_L17
M01_L19
 
mov       rcx,rbx
mov       rdx,7FF900CB5860
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
M01_L20
 
mov       r11,rax
mov       rcx,rdi
mov       rdx,[rbp-50]
call      qword ptr [r11]
mov       edi,eax
cmp       [r15],r15b
mov       r8,r15
M01_L21
 
cmp       qword ptr [r8+8],0
je        near ptr M01_L29
mov       ecx,[r8+18]
cmp       edi,ecx
je        near ptr M01_L34
jle       short M01_L22
mov       r8,[r8+10]
jmp       short M01_L21
M01_L22
 
mov       r8,[r8+8]
jmp       short M01_L21
M01_L23
 
lea       r8,[rbp-0D8]
mov       [rsp+20],r8
lea       r8,[rbp-0E0]
mov       [rsp+28],r8
lea       r8,[rbp-0D0]
mov       rcx,r15
mov       edx,edi
mov       r9,r13
call      qword ptr [7FF900C8EE38]; System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].SetItem(Int32, HashBucket, System.Collections.Generic.IEqualityComparer`1>, Boolean ByRef, Boolean ByRef)
mov       r15,rax
M01_L24
 
cmp       dword ptr [rbp-78],1
jne       short M01_L25
mov       rax,[rbp-0E8]
inc       r12d
M01_L25
 
mov       rax,[rbp-0E8]
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
jne       near ptr M01_L37
lea       rcx,[rax+8]
mov       rdi,rcx
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L40
M01_L26
 
mov       r10d,[rdi+0C]
mov       r8,[rdi]
cmp       r10d,[r8+38]
jae       near ptr M01_L36
mov       r9,[r8+10]
lea       ecx,[r10+1]
mov       [rdi+0C],ecx
cmp       r10d,[r9+8]
jae       near ptr M01_L12
mov       ecx,r10d
lea       rcx,[rcx+rcx*2]
lea       r11,[r9+rcx*8+10]
cmp       dword ptr [r11+14],0FFFFFFFF
jl        short M01_L26
mov       rdx,[r11]
mov       rcx,[r11+8]
mov       [rbp-108],rcx
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,[rbp-108]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
M01_L27
 
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r11,[rcx+70]
test      r11,r11
je        near ptr M01_L32
M01_L28
 
lea       rdx,[rbp-50]
mov       rcx,[rbp-0E8]
call      qword ptr [r11]
mov       rax,[rbp-50]
test      rax,rax
je        near ptr M01_L39
mov       r8,[r13+8]
mov       rdi,r8
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rax,[rcx+88]
test      rax,rax
je        near ptr M01_L19
jmp       near ptr M01_L20
M01_L29
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0B8],xmm0
vmovdqu   xmmword ptr [rbp-0B0],xmm0
M01_L30
 
vmovdqu   xmm0,xmmword ptr [rbp-0B8]
vmovdqu   xmmword ptr [rbp-70],xmm0
mov       rcx,[rbp-0A8]
mov       [rbp-60],rcx
mov       r10,[rbp-50]
mov       [rbp-0F0],r10
mov       r9,[rbp-48]
mov       [rbp-0F8],r9
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       r10,[rcx+90]
test      r10,r10
je        near ptr M01_L33
mov       rax,[rbp-0F0]
M01_L31
 
mov       r8,[rbp-0F8]
mov       [rsp+20],r8
mov       [rsp+28],r13
mov       r8,[r13+10]
mov       [rsp+30],r8
mov       [rsp+38],esi
lea       r8,[rbp-78]
mov       [rsp+40],r8
mov       r8,r10
lea       rcx,[rbp-70]
lea       rdx,[rbp-90]
mov       r9,rax
call      qword ptr [7FF900C8E178]; System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].Add(System.__Canon, System.__Canon, System.Collections.Generic.IEqualityComparer`1>, System.Collections.Generic.IEqualityComparer`1, KeyCollisionBehavior, OperationResult ByRef)
vmovdqu   xmm0,xmmword ptr [rbp-90]
vmovdqu   xmmword ptr [rbp-0D0],xmm0
mov       r8,[rbp-80]
mov       [rbp-0C0],r8
cmp       qword ptr [rbp-0D0],0
je        short M01_L35
mov       rax,[rbp-0E8]
jmp       near ptr M01_L23
M01_L32
 
mov       rcx,rbx
mov       rdx,7FF900CB56B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L28
M01_L33
 
mov       rcx,rbx
mov       rdx,7FF900CB5878
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r8,rax
mov       r10,r8
mov       rax,[rbp-0F0]
jmp       near ptr M01_L31
M01_L34
 
mov       rax,[rbp-0E8]
vmovdqu   xmm0,xmmword ptr [r8+20]
vmovdqu   xmmword ptr [rbp-0B8],xmm0
mov       rcx,[r8+30]
mov       [rbp-0A8],rcx
jmp       near ptr M01_L30
M01_L35
 
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,edi
call      qword ptr [7FF900C8EF88]
mov       r15,rax
jmp       near ptr M01_L24
M01_L36
 
mov       rax,[rbp-0E8]
mov       ecx,[r8+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       short M01_L38
M01_L37
 
mov       rcx,rax
mov       r11,7FF8FFEB1B38
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-0E8]
M01_L38
 
test      ecx,ecx
jne       near ptr M01_L27
mov       rax,[rbp-0E8]
jmp       short M01_L44
M01_L39
 
mov       ecx,717
mov       rdx,7FF900C7EE38
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900C8F5D0]
int       3
M01_L40
 
call      qword ptr [7FF900365E00]
int       3
M01_L41
 
mov       eax,[rbp-54]
lea       r8,[rbp-0D8]
mov       rcx,r15
mov       edx,eax
call      qword ptr [7FF900C8EF88]
mov       r15,rax
jmp       near ptr M01_L09
M01_L42
 
mov       rax,[rbp-0E8]
mov       ecx,[r9+38]
inc       ecx
mov       [r8+0C],ecx
xor       ecx,ecx
mov       [r8+18],rcx
mov       [r8+20],rcx
jmp       short M01_L44
M01_L43
 
mov       rcx,rbx
mov       rdx,7FF900CB5698
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L01
M01_L44
 
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       [rax],rcx
je        short M01_L45
mov       rcx,rax
mov       r11,7FF8FFEB1B40
call      qword ptr [r11]
M01_L45
 
vxorps    xmm0,xmm0,xmm0
vmovdqu   xmmword ptr [rbp-0A0],xmm0
mov       rcx,[rbx+30]
mov       rcx,[rcx]
mov       rdx,[rcx+50]
test      rdx,rdx
je        short M01_L46
jmp       short M01_L47
M01_L46
 
mov       rcx,rbx
mov       rdx,7FF900CB4180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rdx,rax
M01_L47
 
lea       rcx,[rbp-0A0]
mov       r8,r15
mov       r9d,r12d
call      qword ptr [7FF900C8F9A8]; System.Collections.Immutable.ImmutableDictionary`2+MutationResult[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Immutable.SortedInt32KeyNode`1>, Int32)
mov       rdx,[rbp-0A0]
mov       rcx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       eax,[rbp-98]
mov       [r14+8],eax
mov       rax,r14
add       rsp,128
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
M01_L48
 
mov       ecx,40B
mov       rdx,7FF900C7EE38
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900C8F5D0]
int       3
push      rbp
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
mov       rbp,[rcx+48]
mov       [rsp+48],rbp
lea       rbp,[rbp+160]
cmp       qword ptr [rbp-0E8],0
je        short M01_L49
mov       rcx,offset MT_System.Collections.Generic.Dictionary>+Enumerator
mov       rax,[rbp-0E8]
cmp       [rax],rcx
je        short M01_L49
mov       rcx,rax
mov       r11,7FF8FFEB1B40
call      qword ptr [r11]
M01_L49
 
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
pop       rbp
ret
 
System.Collections.Immutable.SortedInt32KeyNode`1[[System.Collections.Immutable.ImmutableDictionary`2+HashBucket[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Collections.Immutable]].Freeze(System.Action`1>>)
M02_L00
 
push      rsi
push      rbx
sub       rsp,58
vzeroupper
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+20],xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
vmovdqa   xmmword ptr [rsp+40],xmm4
xor       eax,eax
mov       [rsp+50],rax
mov       rbx,rcx
mov       rsi,rdx
cmp       byte ptr [rbx+1C],0
jne       short M02_L02
test      rsi,rsi
je        short M02_L01
mov       ecx,[rbx+18]
vmovdqu   xmm0,xmmword ptr [rbx+20]
vmovdqu   xmmword ptr [rsp+20],xmm0
mov       rdx,[rbx+30]
mov       [rsp+30],rdx
mov       [rsp+38],ecx
vmovdqu   xmm0,xmmword ptr [rsp+20]
vmovdqu   xmmword ptr [rsp+40],xmm0
mov       rcx,[rsp+30]
mov       [rsp+50],rcx
mov       rcx,offset System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
cmp       [rsi+18],rcx
jne       short M02_L03
mov       rcx,[rsi+8]
lea       rdx,[rsp+38]
call      qword ptr [7FF900C8DDA0]; System.Collections.Immutable.ImmutableDictionary`2+<>c[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2>)
M02_L01
 
mov       rcx,[rbx+8]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900C8EE98]
mov       rcx,[rbx+10]
mov       rdx,rsi
cmp       [rcx],ecx
call      qword ptr [7FF900C8EE98]
mov       byte ptr [rbx+1C],1
M02_L02
 
add       rsp,58
pop       rbx
pop       rsi
ret
M02_L03
 
lea       rdx,[rsp+38]
mov       rcx,[rsi+8]
call      qword ptr [rsi+18]
jmp       short M02_L01
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M03_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M03_L02
test      rbx,rbx
je        short M03_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M03_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M03_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L01
 
call      qword ptr [7FF900365D58]
int       3
M03_L02
 
test      rbx,rbx
je        short M03_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M03_L04
M03_L03
 
mov       rax,28303A00008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M03_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1E736401FE0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900AC7108]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900AC7138]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900AE2010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900AE2030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900ACC6C0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900ACC6D8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFEB1000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900AC7120]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900AB8CE8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900ACCF48]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFEB1008
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900365D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,227C84C0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,19E03001FE0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900AECEE8]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900AECF18]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900B12010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900B12030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AEE2B0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AEE2C8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFED1000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900AECF00]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900ADD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEEB38]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFED1008
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1DE95080008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,28250801FE0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900AFCEE8]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900AFCF18]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900B22010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900B22030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AFE2B0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AFE2C8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFEE1000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900AFCF00]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900AED0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AFEB38]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFEE1008
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2C2E2610008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,23EA1801FE0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900AECEE8]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900AECF18]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900B12010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900B12030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AEE2B0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AEE2C8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFED1000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900AECF00]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900ADD0D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEEB38]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFED1008
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,27F336A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,19976801FE0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900AFC5E8]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900AFC618]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900B22010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900B22030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AFD9B0]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AFD9C8]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFEE1000
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900AFC600]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900AED7D8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AFE238]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFEE1008
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1DA086F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,17EABC01FE0
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900AECD50]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900AECD80]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900B12010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900B12030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AEE118]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900AEE130]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFED1008
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900AECD68]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900ADD3B8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900AEE9A0]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFED1010
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1BF3DBE0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,1D06FC01FE8
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900BF74E0]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900BF7510]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900C22010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900C22030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900BFCD98]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900BFCDB0]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFEE1300
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900BF74F8]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900BEBCA0
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900BFD620]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFEE1308
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,21101BA0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyCollection()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rdx,[rbx+280]
test      rdx,rdx
je        short M00_L00
mov       rcx,247F6407888
mov       rcx,[rcx]
xor       r8d,r8d
xor       r9d,r9d
call      qword ptr [7FF900C9CD50]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
mov       [rsp+20],rax
mov       rbx,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].AddRange(System.Collections.Generic.IEnumerable`1>, Boolean, Boolean)
push      rbp
push      rsi
push      rbx
sub       rsp,80
lea       rbp,[rsp+90]
xor       eax,eax
mov       [rbp-48],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
vmovdqa   xmmword ptr [rbp-30],xmm4
mov       [rbp-58],rsp
mov       [rbp-18],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       esi,r8d
cmp       [rcx],ecx
test      rbx,rbx
je        near ptr M01_L09
mov       r8,[rcx+8]
cmp       qword ptr [r8+18],0
jne       short M01_L00
test      r9b,r9b
jne       short M01_L00
movzx     r8d,sil
mov       rdx,rbx
call      qword ptr [7FF900C9CD80]; System.Collections.Immutable.ImmutableSortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FillFromEmpty(System.Collections.Generic.IEnumerable`1>, Boolean)
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L00
 
mov       rdx,[rcx+8]
mov       [rbp-48],rdx
mov       edx,[rcx+20]
mov       [rbp-1C],edx
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+38]
test      r11,r11
je        short M01_L01
jmp       short M01_L02
M01_L01
 
mov       rcx,rdx
mov       rdx,7FF900CC2010
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L02
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-50],rax
jmp       near ptr M01_L08
M01_L03
 
mov       rcx,[rbp+10]
mov       rdx,[rcx]
mov       rax,[rdx+30]
mov       rax,[rax]
mov       r11,[rax+40]
test      r11,r11
je        short M01_L04
jmp       short M01_L05
M01_L04
 
mov       rcx,rdx
mov       rdx,7FF900CC2030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L05
 
lea       rdx,[rbp-30]
mov       rcx,[rbp-50]
call      qword ptr [r11]
xor       r9d,r9d
mov       [rbp-40],r9d
test      sil,sil
jne       short M01_L06
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-38]
mov       [rsp+28],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900C9E118]
jmp       short M01_L07
M01_L06
 
mov       rdx,[rbp-30]
mov       rcx,[rbp+10]
mov       r9,[rcx+18]
mov       [rsp+20],r9
lea       r9,[rbp-40]
mov       [rsp+28],r9
lea       r9,[rbp-38]
mov       [rsp+30],r9
mov       r9,[rcx+10]
mov       rcx,[rbp-48]
mov       r8,[rbp-28]
cmp       [rcx],ecx
call      qword ptr [7FF900C9E130]
M01_L07
 
cmp       byte ptr [rbp-38],0
je        short M01_L08
mov       [rbp-48],rax
cmp       byte ptr [rbp-40],0
jne       short M01_L08
mov       ecx,[rbp-1C]
inc       ecx
mov       [rbp-1C],ecx
M01_L08
 
mov       rcx,[rbp-50]
mov       r11,7FF8FFEC1A30
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L03
mov       rcx,rsp
call      M01_L10
nop
mov       rcx,[rbp+10]
mov       rdx,[rbp-48]
mov       r8d,[rbp-1C]
call      qword ptr [7FF900C9CD68]
nop
add       rsp,80
pop       rbx
pop       rsi
pop       rbp
ret
M01_L09
 
mov       ecx,40B
mov       rdx,7FF900C8E6B8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900C9E9A0]
int       3
M01_L10
 
push      rbp
push      rsi
push      rbx
sub       rsp,40
mov       rbp,[rcx+38]
mov       [rsp+38],rbp
lea       rbp,[rbp+90]
cmp       qword ptr [rbp-50],0
je        short M01_L11
mov       rcx,[rbp-50]
mov       r11,7FF8FFEC1A38
call      qword ptr [r11]
M01_L11
 
nop
add       rsp,40
pop       rbx
pop       rsi
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900375D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,28880420008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900395D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,27A95330008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900385D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,28C16010008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,23BA88A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2BA04770008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900375D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,2F88D870008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900385D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,3054E8E0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,22D40240008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToReadOnlyDictionary()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.ObjectModel.ReadOnlyDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
lea       rcx,[rdi+8]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M01_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M01_L02
test      rbx,rbx
je        short M01_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M01_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M01_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L01
 
call      qword ptr [7FF900365D58]
int       3
M01_L02
 
test      rbx,rbx
je        short M01_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M01_L04
M01_L03
 
mov       rax,19E34560008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M01_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AC6868]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AC7528]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900ACC750]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C69018
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C69030
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C692B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C692D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900ABEA18]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEB0F88
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C692F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900365E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003509E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9001F6790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C69018
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C692B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900ACC780]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEB0F90
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEB0F90
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900365D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,197CADD0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AEC4B0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AED170]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AEDFF8]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C8C118
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C8C130
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C8C3B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C8C3D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF2798]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C8C3F8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C8C118
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C8C3B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AEE028]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2B095F70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AE71B0]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AE7E70]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AECE10]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C9A980
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C9A998
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C9AC20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C9AC40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF2798]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C9AC60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C9A980
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C9AC20
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AECE40]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,267F6E00008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AEC648]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AED308]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AEE190]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C8BDD8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C8BDF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C8C078
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C8C098
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF2AF8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C8C0B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C8BDD8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C8C078
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AEE1C0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2066FA10008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900AEC648]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900AED308]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AEE190]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900C8C080
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900C8C098
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900C8C320
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900C8C340
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AF3430]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED0F88
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900C8C360
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900C8C080
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900C8C320
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AEE1C0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED0F90
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2F1343F0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900ACE238]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900ACEEF8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900AF4018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900CC7E40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900CC7E58
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900CC80E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900CC8100
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900AE4898]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFEB1038
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900CC8120
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900365E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003509E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF9001F6790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900CC7E40
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF8FFFF4360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900CC80E0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900AF4048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFEB1040
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFEB1040
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900365D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,27BE7FB0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900C2E238]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900C2EEF8]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900C54018]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900CFC8D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900CFC8F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900CFCB78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900CFCB98
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900C381C8]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED12A8
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900CFCBB8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900CFC8D8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900CFCB78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900C54048]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED12B0
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED12B0
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,267766A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.ToSortedDictionaryTest()
push      rdi
push      rsi
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
test      rsi,rsi
je        short M00_L00
mov       rcx,offset MT_System.Collections.Generic.SortedDictionary>
call      CORINFO_HELP_NEWSFAST
mov       rdi,rax
mov       rcx,rdi
mov       rdx,rsi
xor       r8d,r8d
call      qword ptr [7FF900CA7810]; System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
mov       [rsp+28],rdi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
pop       rsi
pop       rdi
ret
M00_L00
 
call      qword ptr [7FF900535EA8]
mov       ecx,43
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003A7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900517FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900016B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900535C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900216718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Collections.Generic.SortedDictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IDictionary`2, System.Collections.Generic.IComparer`1)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,58
vzeroupper
lea       rbp,[rsp+80]
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rbp-50],xmm4
vmovdqa   xmmword ptr [rbp-40],xmm4
mov       [rbp-60],rsp
mov       [rbp-30],rcx
mov       [rbp+10],rcx
mov       rbx,rdx
mov       rsi,r8
test      rbx,rbx
je        near ptr M01_L21
mov       rdi,[rcx]
mov       rdx,rdi
mov       rax,[rdx+30]
mov       rax,[rax]
mov       rax,[rax+40]
test      rax,rax
je        near ptr M01_L05
M01_L00
 
mov       rcx,rax
call      CORINFO_HELP_NEWSFAST
mov       r14,rax
mov       rcx,r14
mov       rdx,rsi
call      qword ptr [7FF900CAC618]; System.Collections.Generic.SortedDictionary`2+KeyValuePairComparer[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1)
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+48]
test      rcx,rcx
je        near ptr M01_L06
M01_L01
 
mov       rdx,rbx
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
mov       rsi,rax
test      rsi,rsi
jne       near ptr M01_L22
M01_L02
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L07
M01_L03
 
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
mov       rcx,rsi
mov       rdx,r14
call      qword ptr [7FF900CAD4A0]; System.Collections.Generic.SortedSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]]..ctor(System.Collections.Generic.IComparer`1>)
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rsi
call      CORINFO_HELP_ASSIGN_REF
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+58]
test      r11,r11
je        short M01_L08
M01_L04
 
mov       rcx,rbx
call      qword ptr [r11]
mov       [rbp-58],rax
jmp       short M01_L09
M01_L05
 
mov       rcx,rdx
mov       rdx,7FF900D1CC48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
jmp       near ptr M01_L00
M01_L06
 
mov       rcx,rdi
mov       rdx,7FF900D1CC60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L01
M01_L07
 
mov       rcx,rdi
mov       rdx,7FF900D1CEE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
jmp       near ptr M01_L03
M01_L08
 
mov       rcx,rdi
mov       rdx,7FF900D1CF08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L04
M01_L09
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
jmp       short M01_L12
M01_L10
 
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       r11,[rcx+60]
test      r11,r11
je        near ptr M01_L17
M01_L11
 
lea       rdx,[rbp-40]
mov       rcx,[rbp-58]
call      qword ptr [r11]
mov       rcx,[rbp+10]
mov       rdx,[rcx+18]
vmovdqu   xmm0,xmmword ptr [rbp-40]
vmovdqu   xmmword ptr [rbp-50],xmm0
mov       rcx,rdx
lea       rdx,[rbp-50]
cmp       [rcx],ecx
call      qword ptr [7FF900CB3F70]; System.Collections.Generic.TreeSet`1[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]].AddIfNotPresent(System.Collections.Generic.KeyValuePair`2)
mov       rax,[rbp-58]
M01_L12
 
cmp       rsi,r15
jne       short M01_L15
lea       r14,[rax+8]
mov       ecx,[r14+8]
mov       rdx,[r14]
cmp       ecx,[rdx+44]
jne       near ptr M01_L18
M01_L13
 
mov       ecx,[r14+0C]
mov       rbx,[r14]
cmp       ecx,[rbx+38]
jae       short M01_L16
mov       rdx,[rbx+10]
lea       r8d,[rcx+1]
mov       [r14+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L14
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L13
mov       rdx,[rcx]
mov       rbx,[rcx+8]
lea       rcx,[r14+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[r14+20]
mov       rdx,rbx
call      CORINFO_HELP_CHECKED_ASSIGN_REF
jmp       near ptr M01_L10
M01_L14
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L15
 
mov       rcx,rax
mov       r11,7FF8FFED1B38
call      qword ptr [r11]
test      eax,eax
jne       near ptr M01_L10
mov       rax,[rbp-58]
jmp       short M01_L19
M01_L16
 
mov       rax,[rbp-58]
mov       ecx,[rbx+38]
inc       ecx
mov       [r14+0C],ecx
xor       ecx,ecx
mov       [r14+18],rcx
mov       [r14+20],rcx
jmp       short M01_L19
M01_L17
 
mov       rcx,rdi
mov       rdx,7FF900D1CF28
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L11
M01_L18
 
call      qword ptr [7FF900385E00]
int       3
M01_L19
 
cmp       rsi,r15
jne       near ptr M01_L27
M01_L20
 
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,7ED
mov       rdx,7FF9003709E8
call      CORINFO_HELP_STRCNS
mov       rcx,rax
call      qword ptr [7FF900216790]
int       3
M01_L22
 
mov       r15,[rsi+18]
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+40]
test      rcx,rcx
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rdi
mov       rdx,7FF900D1CC48
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L24
 
mov       rdx,[r15+10]
call      qword ptr [7FF900014360]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfClass(Void*, System.Object)
test      rax,rax
je        near ptr M01_L02
mov       rcx,[rax+8]
mov       rdx,[r14+8]
mov       rax,[rcx]
mov       rax,[rax+40]
call      qword ptr [rax+10]
test      eax,eax
je        near ptr M01_L02
mov       rcx,[rdi+30]
mov       rcx,[rcx]
mov       rcx,[rcx+50]
test      rcx,rcx
je        short M01_L25
jmp       short M01_L26
M01_L25
 
mov       rcx,rdi
mov       rdx,7FF900D1CEE8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       rcx,rax
M01_L26
 
call      CORINFO_HELP_NEWSFAST
mov       rbx,rax
mov       rdx,[rsi+18]
mov       rcx,rbx
mov       r8,r14
call      qword ptr [7FF900CAD4D0]
mov       rcx,[rbp+10]
lea       rcx,[rcx+18]
mov       rdx,rbx
call      CORINFO_HELP_ASSIGN_REF
nop
add       rsp,58
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L27
 
mov       rcx,rax
mov       r11,7FF8FFED1B40
call      qword ptr [r11]
jmp       near ptr M01_L20
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
vzeroupper
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+80]
cmp       qword ptr [rbp-58],0
je        short M01_L28
mov       rax,[rbp-58]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L28
mov       rcx,rax
mov       r11,7FF8FFED1B40
call      qword ptr [r11]
M01_L28
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900011E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000C5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900385D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1EEEA340008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90002EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FF900ADC2B8
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FF900ADC2D0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FF900395E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900395B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90000EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FF900ABE170
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
M01_L02
 
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FF900ABE188
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
mov       r12d,[r15+8]
cmp       r12d,r14d
ja        short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900375B18]
int       3
M01_L09
 
call      qword ptr [7FF900375E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90000EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        near ptr M01_L04
M01_L00
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L01
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L03
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L04
 
mov       rdx,7FF900ABE170
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L00
M01_L05
 
mov       rdx,7FF900ABE188
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L02
M01_L06
 
xor       eax,eax
jmp       short M01_L03
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       near ptr M01_L01
call      qword ptr [7FF900375E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900375B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90000EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FF900ABE608
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FF900ABE620
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
xor       eax,eax
jmp       short M01_L05
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       short M01_L02
call      qword ptr [7FF900375E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900375B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90001EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FF900ACEA60
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
M01_L02
 
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FF900ACEA78
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
mov       r12d,[r15+8]
cmp       r12d,r14d
ja        short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900385B18]
int       3
M01_L09
 
call      qword ptr [7FF900385E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rsi
push      rbx
sub       rsp,28
xor       eax,eax
mov       [rsp+20],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90001EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rsi,[rax]
M00_L00
 
mov       [rsp+20],rsi
mov       rsi,[rbx+18]
mov       rdx,[rsp+20]
lea       rcx,[rsi+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rsi+8],rax
add       rsp,28
pop       rbx
pop       rsi
ret
M00_L01
 
xor       esi,esi
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FF900ACEBF0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+70]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FF900ACEC08
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900385B18]
int       3
M01_L09
 
call      qword ptr [7FF900385E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90000EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rcx,[rax]
M00_L00
 
mov       [rsp+28],rcx
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
M00_L01
 
xor       ecx,ecx
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L06
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+60]
test      r11,r11
je        near ptr M01_L04
M01_L00
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L09
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L01
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L06
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L07
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L07
lea       rax,[r14+8]
M01_L03
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L04
 
mov       rdx,7FF900A3A180
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       near ptr M01_L00
M01_L05
 
mov       rdx,7FF900A3A198
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
jmp       short M01_L02
M01_L06
 
xor       eax,eax
jmp       short M01_L03
M01_L07
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jae       near ptr M01_L01
call      qword ptr [7FF900375E48]
int       3
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900375B18]
int       3
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.TryGetValue()
push      rbx
sub       rsp,30
xor       eax,eax
mov       [rsp+28],rax
mov       rbx,rcx
mov       rcx,[rbx+280]
mov       rdx,[rbx+290]
cmp       [rcx],cl
call      qword ptr [7FF90001EE68]; System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
test      rax,rax
je        short M00_L01
mov       rcx,[rax]
M00_L00
 
mov       [rsp+28],rcx
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,30
pop       rbx
ret
M00_L01
 
xor       ecx,ecx
jmp       short M00_L00
 
System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].FindValue(System.__Canon)
push      r15
push      r14
push      r13
push      r12
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       [rsp+20],rcx
mov       rbx,rcx
mov       rsi,rdx
test      rsi,rsi
je        near ptr M01_L08
cmp       qword ptr [rbx+8],0
je        near ptr M01_L07
mov       rdi,[rbx+18]
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+60]
test      r11,r11
je        short M01_L00
jmp       short M01_L01
M01_L00
 
mov       rdx,7FF900A494F0
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L01
 
mov       rcx,rdi
mov       rdx,rsi
call      qword ptr [r11]
mov       ebp,eax
mov       rcx,[rbx+8]
mov       edx,ebp
imul      rdx,[rbx+30]
shr       rdx,20
inc       rdx
mov       eax,[rcx+8]
mov       r8d,eax
imul      rdx,r8
shr       rdx,20
cmp       edx,eax
jae       near ptr M01_L10
mov       edx,edx
mov       r14d,[rcx+rdx*4+10]
mov       r15,[rbx+10]
xor       r13d,r13d
dec       r14d
M01_L02
 
mov       r12d,[r15+8]
cmp       r12d,r14d
jbe       short M01_L07
mov       ecx,r14d
lea       rcx,[rcx+rcx*2]
lea       r14,[r15+rcx*8+10]
cmp       [r14+10],ebp
jne       short M01_L06
mov       rcx,[rbx]
mov       rdx,[rcx+30]
mov       rdx,[rdx]
mov       r11,[rdx+68]
test      r11,r11
je        short M01_L03
jmp       short M01_L04
M01_L03
 
mov       rdx,7FF900A49508
call      CORINFO_HELP_RUNTIMEHANDLE_CLASS
mov       r11,rax
M01_L04
 
mov       rdx,[r14]
mov       rcx,rdi
mov       r8,rsi
call      qword ptr [r11]
test      eax,eax
je        short M01_L06
lea       rax,[r14+8]
M01_L05
 
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r12
pop       r13
pop       r14
pop       r15
ret
M01_L06
 
mov       r14d,[r14+14]
inc       r13d
cmp       r12d,r13d
jb        short M01_L09
jmp       short M01_L02
M01_L07
 
xor       eax,eax
jmp       short M01_L05
M01_L08
 
mov       ecx,4
call      qword ptr [7FF900385B18]
int       3
M01_L09
 
call      qword ptr [7FF900385E48]
int       3
M01_L10
 
call      CORINFO_HELP_RNGCHKFAIL
int       3
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900A7BDF0
call      qword ptr [7FF900A860D0]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE1098
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE10A8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEE10A0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900397A98]
int       3
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900A5C450
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900A5C460
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FF900A5C470
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L16
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L19
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEE10B0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L16
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEE10B8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L18
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L18
M01_L16
 
call      qword ptr [7FF900395E00]
int       3
M01_L17
 
mov       rcx,rbx
mov       rdx,7FF900A5C488
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L19
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FF900397A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900A5C558
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FF900A5C528
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FF900A5C540
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FF8FFEE10C0
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FF8FFEE10C0
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,16D39CD0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900A8FE78
call      qword ptr [7FF900A77DB0]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE1098
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE10A8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEE10A0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900397A98]
int       3
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900A5E328
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900A5E338
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FF900A5E348
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEE10B0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FF900395E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FF900A5E360
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEE10B8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FF900397A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900A5E430
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FF900A5E400
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900A5E418
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FF8FFEE10C0
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FF8FFEE10C0
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,245F60A0008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900A5FE78
call      qword ptr [7FF900A47DB0]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEB1098
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEB10A8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEB10A0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900367A98]
int       3
M00_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L24
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF8FFFF4348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L05
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF8FFFF4348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L28
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L06
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L07
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900A2E328
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L05
 
mov       rcx,rbx
mov       rdx,7FF900A2E338
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       near ptr M01_L01
M01_L06
 
mov       rcx,rbx
mov       rdx,7FF900A2E348
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       near ptr M01_L02
M01_L07
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L10
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L17
M01_L08
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L20
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L09
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L08
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L09
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L10
 
mov       rcx,rax
mov       r11,7FF8FFEB10B0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L11
 
test      ecx,ecx
je        near ptr M01_L22
M01_L12
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L18
M01_L13
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L15
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L17
M01_L14
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L16
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L09
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L14
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L15
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEB10B8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L12
mov       rcx,rax
jmp       short M01_L19
M01_L16
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       short M01_L19
M01_L17
 
call      qword ptr [7FF900365E00]
int       3
M01_L18
 
mov       rcx,rbx
mov       rdx,7FF900A2E360
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L13
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L21
M01_L20
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L11
M01_L21
 
cmp       rsi,r15
je        near ptr M01_L04
mov       r11,7FF8FFEB10C0
call      qword ptr [r11]
jmp       near ptr M01_L04
M01_L22
 
mov       rcx,rsp
call      M01_L33
nop
M01_L23
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L24
 
mov       ecx,10
call      qword ptr [7FF900367A38]
int       3
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L26
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FF900A2E430
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L28
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L29
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FF900A2E400
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       near ptr M01_L23
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L31
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L31
jmp       short M01_L32
M01_L31
 
mov       rcx,rbx
mov       rdx,7FF900A2E418
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L32
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FF8FFEB10C0
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900365D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,30B0C100008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900A8FE78
call      qword ptr [7FF900A77DB0]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE1098
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE10A8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEE10A0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900397A98]
int       3
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900A5E328
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900A5E338
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FF900A5E348
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEE10B0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FF900395E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FF900A5E360
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEE10B8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FF900397A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900A5E430
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FF900A5E400
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900A5E418
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FF8FFEE10C0
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L34
mov       rcx,rax
mov       r11,7FF8FFEE10C0
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,26D89C70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900A703B8
call      qword ptr [7FF900A57EA0]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEC1098
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEC10A8
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEC10A0
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900377A98]
int       3
M00_L03
 
call      qword ptr [7FF900525EA8]
mov       ecx,1B3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900A3E900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900A3E910
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,offset System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor.CreateParameterizedConstructor[[DotNetTips.Spargine.Tester.Models.ValueTypes.Address, DotNetTips.Spargine.8.Tester],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Reflection.ConstructorInfo)
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEC10B0
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FF900375E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FF900A3E938
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEC10B8
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FF900377A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900A3EA08
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FF900A3E9D8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900A3E9F0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FF8FFEC10C0
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L34
mov       rcx,[rbp-48]
mov       r11,7FF8FFEC10C0
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900375D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,1F9C7460008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900A603B8
call      qword ptr [7FF900A47EA0]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEB0F78
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEB0F88
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEB0F80
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900367A98]
int       3
M00_L03
 
call      qword ptr [7FF900515EA8]
mov       ecx,1B3
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900515EA8]
mov       ecx,43
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900387000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF9004F7FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF8FFFF6B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900515C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF9001F6718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L21
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF8FFFF4348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF8FFFF4348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L25
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900A2E900
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900A2E910
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,offset System.Text.Json.Serialization.Metadata.ReflectionEmitMemberAccessor.CreateParameterizedConstructor[[DotNetTips.Spargine.Tester.Models.ValueTypes.Address, DotNetTips.Spargine.8.Tester],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Reflection.ConstructorInfo)
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L14
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L17
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEB0F90
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L31
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        short M01_L15
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L16
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       short M01_L14
M01_L13
 
mov       edx,[rdi+0C]
mov       rax,[rdi]
mov       r14d,[rax+38]
cmp       edx,r14d
jb        short M01_L18
inc       r14d
mov       [rdi+0C],r14d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
jmp       near ptr M01_L19
M01_L14
 
call      qword ptr [7FF900365E00]
int       3
M01_L15
 
mov       rcx,rbx
mov       rdx,7FF900A2E938
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       short M01_L12
M01_L16
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEB0F98
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L19
M01_L17
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L18
 
mov       rax,[rax+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       near ptr M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        near ptr M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L19
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
cmp       rsi,r15
jne       near ptr M01_L30
M01_L20
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L21
 
mov       ecx,10
call      qword ptr [7FF900367A38]
int       3
M01_L22
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L23
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L23
jmp       short M01_L24
M01_L23
 
mov       rcx,rbx
mov       rdx,7FF900A2EA08
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L24
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L25
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L26
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L26
jmp       short M01_L27
M01_L26
 
mov       rcx,rbx
mov       rdx,7FF900A2E9D8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L27
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L32
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L28
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L28
jmp       short M01_L29
M01_L28
 
mov       rcx,rbx
mov       rdx,7FF900A2E9F0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L29
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L30
 
mov       r11,7FF8FFEB0FA0
call      qword ptr [r11]
jmp       near ptr M01_L20
M01_L31
 
mov       rcx,rsp
call      M01_L33
nop
M01_L32
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L33
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L34
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L34
mov       rcx,[rbp-48]
mov       r11,7FF8FFEB0FA0
call      qword ptr [r11]
M01_L34
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF8FFFF1E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000A5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900365D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,2375CB70008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900BEC9B8
call      qword ptr [7FF900B3EF40]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE12C0
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEE12D0
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEE12C8
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900397A98]
int       3
M00_L03
 
call      qword ptr [7FF900545EA8]
mov       ecx,1B3
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900545EA8]
mov       ecx,43
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF9003B7000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900527FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900026B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900545C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900226718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900024348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900BD63F8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900BD6408
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FF900BD6418
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L19
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L18
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEE12D8
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L19
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEE12E0
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L16
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
M01_L16
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L17
 
mov       rcx,rbx
mov       rdx,7FF900BD6430
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L19
 
call      qword ptr [7FF900395E00]
int       3
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FF900397A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900BD6500
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FF900BD64D0
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FF900BD64E8
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FF8FFEE12E8
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FF8FFEE12E8
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900021E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000D5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900395D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,27087840008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
 

.NET 8.0.19 (8.0.1925.36514), X64 RyuJIT AVX2

DotNetTips.Spargine.Extensions.BenchmarkTests.DictionaryExtensionsCollectionBenchmark.UpsertDictionary01()
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,48
xor       eax,eax
mov       [rsp+28],rax
vxorps    xmm4,xmm4,xmm4
vmovdqa   xmmword ptr [rsp+30],xmm4
mov       [rsp+40],rax
mov       rbx,rcx
mov       rsi,[rbx+280]
lea       rcx,[rsp+30]
lea       r9,[rsp+40]
mov       r8,rsi
mov       rdx,7FF900C333C8
call      qword ptr [7FF900C07930]; System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
cmp       byte ptr [rsp+40],0
je        near ptr M00_L02
mov       rdi,[rsp+30]
mov       rbp,[rsp+38]
test      rbp,rbp
je        short M00_L01
xor       ecx,ecx
test      rdi,rdi
setne     cl
test      ecx,ecx
je        short M00_L03
test      rsi,rsi
je        near ptr M00_L04
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEC1B48
call      qword ptr [r11]
test      eax,eax
je        short M00_L00
mov       rcx,rsi
mov       rdx,rdi
mov       r11,7FF8FFEC1B58
call      qword ptr [r11]
M00_L00
 
mov       rcx,rsi
mov       r8,rbp
mov       rdx,rdi
mov       r11,7FF8FFEC1B50
call      qword ptr [r11]
M00_L01
 
mov       [rsp+28],rsi
mov       rbx,[rbx+18]
mov       rdx,[rsp+28]
lea       rcx,[rbx+8]
call      CORINFO_HELP_ASSIGN_REF
xor       eax,eax
mov       [rbx+8],rax
add       rsp,48
pop       rbx
pop       rbp
pop       rsi
pop       rdi
ret
M00_L02
 
call      qword ptr [7FF900377A98]
int       3
M00_L03
 
call      qword ptr [7FF900525EA8]
mov       ecx,1B3
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
M00_L04
 
call      qword ptr [7FF900525EA8]
mov       ecx,43
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rbx,rax
mov       ecx,1C09
mov       rdx,7FF900397000
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       ecx,1
mov       rdx,7FF900507FB8
call      CORINFO_HELP_STRCNS
mov       rdx,rax
mov       rcx,rbx
call      qword ptr [7FF900006B08]; System.String.Concat(System.String, System.String)
mov       rbx,rax
mov       rcx,offset MT_System.ArgumentNullException
call      CORINFO_HELP_NEWSFAST
mov       rsi,rax
call      qword ptr [7FF900525C98]
mov       r8,rax
mov       rdx,rbx
mov       rcx,rsi
call      qword ptr [7FF900206718]
mov       rcx,rsi
call      CORINFO_HELP_THROW
int       3
 
System.Linq.Enumerable.TryGetLast[[System.Collections.Generic.KeyValuePair`2[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]], System.Private.CoreLib]](System.Collections.Generic.IEnumerable`1>, Boolean ByRef)
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,48
lea       rbp,[rsp+70]
xor       eax,eax
mov       [rbp-40],rax
mov       [rbp-38],rax
mov       [rbp-50],rsp
mov       [rbp-30],rdx
mov       [rbp+10],rcx
mov       [rbp+28],r9
mov       rbx,rdx
mov       rsi,r8
test      rsi,rsi
je        near ptr M01_L22
mov       rcx,[rbx+10]
mov       rcx,[rcx+10]
test      rcx,rcx
je        short M01_L03
M01_L00
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       rdi,rax
test      rdi,rdi
jne       near ptr M01_L23
mov       rcx,[rbx+10]
mov       rcx,[rcx+18]
test      rcx,rcx
je        short M01_L04
M01_L01
 
mov       rdx,rsi
call      qword ptr [7FF900004348]; System.Runtime.CompilerServices.CastHelpers.IsInstanceOfInterface(Void*, System.Object)
mov       r14,rax
test      r14,r14
jne       near ptr M01_L26
mov       rcx,[rbx+10]
mov       r11,[rcx+20]
test      r11,r11
je        short M01_L05
M01_L02
 
mov       rcx,rsi
call      qword ptr [r11]
mov       [rbp-48],rax
jmp       short M01_L06
M01_L03
 
mov       rcx,rbx
mov       rdx,7FF900C2E640
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L00
M01_L04
 
mov       rcx,rbx
mov       rdx,7FF900C2E650
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       rcx,rax
jmp       short M01_L01
M01_L05
 
mov       rcx,rbx
mov       rdx,7FF900C2E660
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
jmp       short M01_L02
M01_L06
 
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
jne       short M01_L09
lea       rdi,[rax+8]
mov       ecx,[rdi+8]
mov       rdx,[rdi]
cmp       ecx,[rdx+44]
jne       near ptr M01_L19
M01_L07
 
mov       rax,[rbp-48]
mov       ecx,[rdi+0C]
mov       r14,[rdi]
cmp       ecx,[r14+38]
jae       near ptr M01_L18
mov       rdx,[r14+10]
lea       r8d,[rcx+1]
mov       [rdi+0C],r8d
cmp       ecx,[rdx+8]
jae       short M01_L08
mov       ecx,ecx
lea       rcx,[rcx+rcx*2]
lea       rcx,[rdx+rcx*8+10]
cmp       dword ptr [rcx+14],0FFFFFFFF
jl        short M01_L07
mov       rdx,[rcx]
mov       r14,[rcx+8]
lea       rcx,[rdi+18]
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       short M01_L11
M01_L08
 
call      CORINFO_HELP_RNGCHKFAIL
M01_L09
 
mov       rcx,rax
mov       r11,7FF8FFEC1B60
call      qword ptr [r11]
mov       ecx,eax
mov       rax,[rbp-48]
M01_L10
 
test      ecx,ecx
je        near ptr M01_L32
M01_L11
 
mov       rcx,[rbx+10]
mov       r11,[rcx+28]
test      r11,r11
je        near ptr M01_L17
M01_L12
 
lea       rdx,[rbp-40]
mov       rcx,rax
call      qword ptr [r11]
cmp       rsi,r15
jne       short M01_L14
mov       rcx,[rbp-48]
lea       rdi,[rcx+8]
mov       edx,[rdi+8]
mov       rax,[rdi]
cmp       edx,[rax+44]
jne       near ptr M01_L19
M01_L13
 
mov       edx,[rdi+0C]
mov       r14,[rdi]
cmp       edx,[r14+38]
jae       short M01_L15
mov       rax,[r14+10]
lea       r8d,[rdx+1]
mov       [rdi+0C],r8d
cmp       edx,[rax+8]
jae       short M01_L08
mov       edx,edx
lea       rdx,[rdx+rdx*2]
lea       rdx,[rax+rdx*8+10]
cmp       dword ptr [rdx+14],0FFFFFFFF
jl        short M01_L13
mov       rax,[rdx]
mov       r14,[rdx+8]
lea       rcx,[rdi+18]
mov       rdx,rax
call      CORINFO_HELP_CHECKED_ASSIGN_REF
lea       rcx,[rdi+20]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp-48]
jmp       near ptr M01_L11
M01_L14
 
mov       rcx,[rbp-48]
mov       r11,7FF8FFEC1B68
call      qword ptr [r11]
test      eax,eax
mov       rax,[rbp-48]
jne       near ptr M01_L11
mov       rcx,rax
jmp       short M01_L16
M01_L15
 
mov       r11d,[r14+38]
inc       r11d
mov       [rdi+0C],r11d
xor       r11d,r11d
mov       [rdi+18],r11
mov       [rdi+20],r11
mov       rcx,[rbp-48]
M01_L16
 
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rdi,[rbp-40]
mov       r14,[rbp-38]
jmp       short M01_L20
M01_L17
 
mov       rcx,rbx
mov       rdx,7FF900C2E678
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
mov       rax,[rbp-48]
jmp       near ptr M01_L12
M01_L18
 
mov       ecx,[r14+38]
inc       ecx
mov       [rdi+0C],ecx
xor       ecx,ecx
mov       [rdi+18],rcx
mov       [rdi+20],rcx
jmp       near ptr M01_L10
M01_L19
 
call      qword ptr [7FF900375E00]
int       3
M01_L20
 
cmp       rsi,r15
jne       near ptr M01_L31
M01_L21
 
mov       rcx,[rbp+10]
mov       rdx,rdi
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rcx,[rbp+10]
lea       rcx,[rcx+8]
mov       rdx,r14
call      CORINFO_HELP_CHECKED_ASSIGN_REF
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L22
 
mov       ecx,10
call      qword ptr [7FF900377A38]
int       3
M01_L23
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],40
jle       short M01_L24
mov       r11,[rcx+40]
test      r11,r11
je        short M01_L24
jmp       short M01_L25
M01_L24
 
mov       rcx,rbx
mov       rdx,7FF900C2E748
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L25
 
mov       rcx,rdi
mov       rdx,[rbp+10]
mov       r8,[rbp+28]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L26
 
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],30
jle       short M01_L27
mov       r11,[rcx+30]
test      r11,r11
je        short M01_L27
jmp       short M01_L28
M01_L27
 
mov       rcx,rbx
mov       rdx,7FF900C2E718
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L28
 
mov       rcx,r14
call      qword ptr [r11]
mov       esi,eax
test      esi,esi
jle       short M01_L33
mov       r8,[rbp+28]
mov       byte ptr [r8],1
mov       rcx,[rbx+10]
cmp       qword ptr [rcx+8],38
jle       short M01_L29
mov       r11,[rcx+38]
test      r11,r11
je        short M01_L29
jmp       short M01_L30
M01_L29
 
mov       rcx,rbx
mov       rdx,7FF900C2E730
call      CORINFO_HELP_RUNTIMEHANDLE_METHOD
mov       r11,rax
M01_L30
 
lea       r8d,[rsi-1]
mov       rcx,r14
mov       rdx,[rbp+10]
call      qword ptr [r11]
mov       rax,[rbp+10]
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L31
 
mov       r11,7FF8FFEC1B70
call      qword ptr [r11]
jmp       near ptr M01_L21
M01_L32
 
mov       rcx,rsp
call      M01_L34
nop
M01_L33
 
mov       r8,[rbp+28]
mov       byte ptr [r8],0
xor       eax,eax
mov       rdx,[rbp+10]
mov       [rdx],rax
mov       [rdx+8],rax
mov       rax,rdx
add       rsp,48
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
M01_L34
 
push      rbp
push      r15
push      r14
push      rdi
push      rsi
push      rbx
sub       rsp,28
mov       rbp,[rcx+20]
mov       [rsp+20],rbp
lea       rbp,[rbp+70]
cmp       qword ptr [rbp-48],0
je        short M01_L35
mov       rax,[rbp-48]
mov       rsi,[rax]
mov       r15,offset MT_System.Collections.Generic.Dictionary>+Enumerator
cmp       rsi,r15
je        short M01_L35
mov       rcx,rax
mov       r11,7FF8FFEC1B70
call      qword ptr [r11]
M01_L35
 
nop
add       rsp,28
pop       rbx
pop       rsi
pop       rdi
pop       r14
pop       r15
pop       rbp
ret
 
System.String.Concat(System.String, System.String)
push      r15
push      r14
push      rdi
push      rsi
push      rbp
push      rbx
sub       rsp,28
mov       rsi,rcx
mov       rbx,rdx
test      rsi,rsi
je        near ptr M02_L02
mov       edi,[rsi+8]
test      edi,edi
je        short M02_L02
test      rbx,rbx
je        short M02_L00
mov       ebp,[rbx+8]
test      ebp,ebp
je        short M02_L00
mov       r14d,edi
lea       ecx,[r14+rbp]
test      ecx,ecx
jl        short M02_L01
call      00007FF900001E60
mov       r15,rax
cmp       [r15],r15b
lea       rcx,[r15+0C]
lea       rdx,[rsi+0C]
mov       r8d,edi
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
movsxd    r8,r14d
lea       rcx,[r15+r8*2+0C]
lea       rdx,[rbx+0C]
mov       r8d,ebp
add       r8,r8
call      qword ptr [7FF9000B5B78]; System.Buffer.Memmove(Byte ByRef, Byte ByRef, UIntPtr)
mov       rax,r15
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L00
 
mov       rax,rsi
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L01
 
call      qword ptr [7FF900375D58]
int       3
M02_L02
 
test      rbx,rbx
je        short M02_L03
mov       ebp,[rbx+8]
xor       eax,eax
test      ebp,ebp
sete      al
test      eax,eax
je        short M02_L04
M02_L03
 
mov       rax,25CD6650008
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret
M02_L04
 
mov       rax,rbx
add       rsp,28
pop       rbx
pop       rbp
pop       rsi
pop       rdi
pop       r14
pop       r15
ret